Online image describer

Cette extension a pour but d'ajouter des moteurs de reconnaissance d'image en ligne à NVDA.

Il y a deux types de moteurs. Reconnaissance optique de caractères et descripteurs d'image.

La reconnaissance optique de caractères extrait le texte de l'image.

Un descripteur d'image décrit les éléments visuels de l'image sous forme de texte, tels qu'une description générale, la couleur des différentes régions etc.

Une connexion internet est nécessaire pour utiliser cette extension, puisque les services de description d'image sont fournis par des points de terminaison API sur Internet.

Elles sont appelées moteurs dans cette extension.

Il existe trois types de moteurs pour cette extension.

  • Un moteur de reconnaissance optique de caractères en ligne
  • Un poteur de description d'image en ligne
  • Le moteur de reconnaissance optique de caractères de Windows 10 (hors-ligne)

Vous devez aussi choisir la source pour la reconnaissance d'image.

  • L'objet navigateur courant
  • La fenêtre courant en avant-plan
  • La totalité de l'écran
  • Données d'image ou fichier depuis le presse-papiers
  • Chemin vers un fichier image ou url d'une image depuis le presse-papiers

Commandes clavier

Après avoir choisi le type, vous pouvez démarrer la reconnaissance par un seul geste.

NVDA+Alt+P exécute la reconnaissance en fonction de la source et du type de moteur choisis, puis lit le résultat. un double appui ouvre un document virtuel de résultat.

Il y a quatre autres gestes non assignés, veuillez les assigner avant utilisation.

Basculer entre les différents types de moteurs de reconnaissance.

Basculer entre les différents types de sources de reconnaissance.

Annuler la reconnaissance en cours

Ce geste peut être utile si vous pensez avoir attendu trop longtemps et voulez arrêter.

Parfois aussi vous ne voulez pas être dérangé par des messages de la reconnaissance parce que vous voulez lire un message arrivé après le début de la reconnaissance.

Voir le résulta précédent dans un document virtuel de résultat.

Bien qu'il y ait une fonctionnalité pour copier le résultat dans le presse-papiers. L'information de position des caractères ne peut pas être préservée, ce geste permet de régler ce problème.

Il existe également Quatre gestes anciens non assignés pour les utilisateurs préfèrant les gestes tels que définis dans les versions précédentes.

Il est recommandé d'utiliser les nouveaux geste et de choisir le moteur de reconnaissance en fonction de vos besoins.

Reconnaissance de l'objet navigateur courant avec le moteur de reconnaissance de caractères en ligne puis lecture du résultat. Un double appui ouvre un document virtuel de résultat.

Reconnaissance d'une image dans le presse-papiers avec le moteur de reconnaissance de caractères en ligne puis lecture du résultat. Un double appui ouvre un document virtuel de résultat.

Reconnaissance de l'objet navigateur courant puis lecture du résultat. Un double appui ouvre un document virtuel de résultat.

Reconnaissance d'une image dans le presse-papiers puis lecture du résultat. Un double appui ouvre un document virtuel de résultat.

Configuration du Moteur

Vous pouvez choisir les moteurs de reconnaissance et les configurer en détail dans la catégorie Online Image Describer dans le dialogue de paramètres de NVDA.

L'auteur de cette extension a créé un compte avec un quota d'API gratuit et mis en place un serveur proxy sur www.nvdacn.com pour faciliter les premiers tests de l'extension. Le quota de test est limité et peut être annulé par le fournisseur à tout moment.

Il est fortement recommangé d'enregistrer votre propre clé en consultant le guide pour chaque moteur.

Les paramètres suivants s'appliquent à tous les moteurs.

  • Copier le résultat de la reconnaissance dans le presse-papiers : Si activé, le résultat de reconnaissance sera copié dans le presse-papiers après reconnaissance.
  • Utiliser un message navigable pour le résultat texte : Si activé, le résultat sera affiché dans une fenêtre pop-up au lieu d'un message braille ou audio.
  • Inverser l'effet des gestes à double appui et simple appui : Par défaut, un document virtuel de résultat est affiché seulement lors d'un double appui du geste correspondant, si vous utilisez cela fréquemment vous pouvez activer cette option pour qu'un simple appui vous affiche le document.
  • Activer une journalisation plus verbeuse dans un but de débogage : Certains éléments de journal sot essentiels pour le débogage mais affectent les performances et consomment beaucoup d'espace. N'activez ceci que si l'auteur de l'extension ou un développeur NVDA vous l'a spécifiquement demandé.
  • Type de proxy : Le type de proxy que vous utilisez. Si vous ne savez pas ce qu'est un proxy, laissez ce paramètre tel quel.
  • Adresse de proxy : l'url complet de votre proxy. Si vous ne savez pas ce qu'est un proxy, laissez ce paramètre tel quel.

Les paramètres suivants ont la même signification pour tous les moteurs, définissez-les ici pour gagner de l'espace.

  • Type d'accès à l'API : Cela contrôle la façon dont vous accédez aux points de terminaison API correspondants.

    • Si vous choisissez "Utiliser les quotas publics", vous utilisez un quota gratuit dans un compte créé par l'auteur de l'extension.
    • Si vous choisissez "Utiliser votre propre clé API", cette extension utilisera le quota de votre propre compte.
  • APP ID, clé API ou Clé secrète API : si vous voulez utiliser le quota de votre propre compte une clé correspondant à cet accès est requise. Certains moteurs ne requièrent qu'une clé API. Certains moteurs requièrent deux clés. Celles-ci ne sont valides que si vous choisissez "utiliser votre propre clé API" dans le type d'accès API.

Notez que la qualité et l'exactitude du résultat dépendent de facteurs multiples.

  • Les modèles et techniques utilisés par le fournisseur de moteur.
  • La qualité de l'image fournie
  • Si l'objet navigateur est caché derrière quelque chose d'autre
  • La résolution d'écran

Description d'image en ligne

Voici trois moteurs disponibles.

Microsoft Azure Image Analyser

Ce moteur extrait un riche ensemble de caractéristiques basées sur le contenu de l'image.

Ce moteur n'existe qu'en anglais. Si vous voulez une description dans d'autres langues, vous pouvez utiliser Microsoft Azure Image Describer

Les caractéristiques visuelles incluent :

  • Adulte - détecte si l'image est de nature pornographique (représente la nudité ou un acte sexuel). Le contenu sexuellement suggestif est également détecté.
  • Marques - détecte diverses marques à l'intérieur d'une image, incluant leur position approximative. Le paramètre Marques est seulement disponible en anglais.
  • Catégories - catégorise le contenu de l'image en fonction d'une taxonomie définie dans la documentation.
  • Couleur - détermine la couleur accentuée, la couleur dominante, et si une image est en noir et blanc.
  • Description - décrit le contenu de l'image en une phrase complète dans les langues supportées.
  • Visages - détecte si des visages sont présents. Si oui, détecte les coordonnées, le genre et l'âge.
  • ImageType - détecte si l'image est une image numérique insérable ou un dessin de ligne.
  • Objets - détecte divers objets dans une image, y compris la position approximatif. L'argument des objets n'est disponible qu'en anglais.
  • Étiquettes - étiquette l'image avec une liste détaillée de mots liés au contenu de l'image.

Certaines fonctionnalités fournissent également des détails supplémentaires :

  • Célébrités - identifie les célébrités si elle est détectée dans l'image.
  • Régions - identifie les Régions s'ils sont détectés dans l'image.

Microsoft Azure Image describer

Ce moteur génère une description d'une image dans un langage lisible par un humain avec des phrases complètes. La description est basée sur une collection de étiquettes de contenu, qui sont également renvoyées par l'opération.

Plus d'une description peut être générée pour chaque image. Les descriptions sont commandées par leur marque de confiance.

Il y a deux paramètres pour ce moteur.

  • Langue : La langue dans laquelle le service renverra une description de l'image. Anglais par défaut.
  • Candidats maximaux : Nombre maximum de descriptions de candidats à retourner. La valeur par défaut est 1.

Reconnaissance optique de caractères en ligne

Les moteurs en ligne s'appuient sur l'utilisation et la présence des services suivants.

https://www.nvdacn.com

https://ocr.space/ocrapi

https://azure.microsoft.com/en-us/services/cognitive-services/

http://ai.qq.com

http://ai.baidu.com

http://ai.sogou.com/

https://intl.cloud.tencent.com

Moteurs

Il y a cinq moteurs disponibles.

Reconnaissance optique de caractères Tencent Cloud

Cette API est financée par Tencent Cloud et Aceessibility Research Association, avec un quota de 15000 par jour.

Ce moteur prend en charge 19 langues.

  • Mélange Chinois-Anglais
  • Japonais
  • Coréen
  • Espagnol
  • Français
  • Allemand
  • Portugais
  • Vietnamien
  • Malais
  • Russe
  • Italien
  • Néerlandais
  • Suédois
  • Finnois
  • Danois
  • Norvégien
  • Hongrois
  • Thaï
  • Latin

Voici les paramètres de ce moteur.

  • Langue : Langue de texte pour la reconnaissance. Détection automatique par défaut.

Reconnaissance optique de caractères space

Celui-ci est une API payante avec un quota gratuit fourni par OCR Space

Il prend en charge 24 langues

  • Arabe
  • Bulgare
  • Chinois (Simplifié)
  • Chinois (Traditionnel)
  • Croate
  • Tchèque
  • Danois
  • Néerlandais
  • Anglais
  • Finnois
  • Français
  • Allemand
  • Grec
  • Hongrois
  • Coréen
  • Italien
  • Japonais
  • Polonais
  • Portugais
  • Russe
  • Slovène
  • Espagnol
  • Suédois
  • Turc

Voici les paramètres de ce moteur :

  • Langue : Langue de texte pour la reconnaissance. Anglais par défaut.
  • Détectez l'orientation de l'image : Si elle est définie sur true, l'API autorote correctement l'image.
  • Échelle de l'image pour une meilleure qualité : Si elle est définie sur true, l'API fait une augmentation interne. Cela peut améliorer considérablement le résultat de la reconnaissance optique de caractères, en particulier pour les PDF scannériser à basse résolution.
  • Optimiser pour la reconnaissance du tableau : Si elle est définie sur true, la logique de la reconnaissance optique de caractères s'assure que le résultat du texte analysé est toujours retourné ligne par ligne. Ce commutateur est recommandé pour La reconnaissance optique de caractères du tableau, la reconnaissance optique de caractères de réception, le traitement des factures et tous les autres types de documents d'entrée qui ont une structure de tableau.

Si vous souhaitez utiliser votre propre clé, vous devez également spécifier la clé API.

Vous pouvez obtenir votre propre clé API gratuite en vous inscrivant sur OCR space

Voici un guide simple.

Trouvez le lien "Register for free API key"

Cliquez dessus et vous trouverez un formulaire à remplir.

Le formulaire vous demande de saisir les données suivantes

  • Email Address (Adresse du courriel)
  • First Name (Prénom)
  • Last Name (Nom de famille)
  • How do you plan to use the OCR API? (Comment comptez-vous utiliser la reconnaissance optique de caractères API ?)

Après l'avoir rempli et soumettre. Vous devrez peut-être également passer un captcha

Ensuite, vous recevrez un courriel de confirmation

Trouvez le lien nommé "Yes, subscribe me to this list." dans ce courriel. Accédez à ce lien et vous recevrez bientôt la clé API par courriel.

Reconnaissance optique de caractères Microsoft Azure

Ce moteur utilise la reconnaissance optique de caractères API dans Microsoft Azure Cognitive Services Computer Vision.

Il prend en charge 24 langues, notamment

  • Chinois Simplifié
  • Chinois Traditionnel
  • Tchèque
  • Danois
  • Néerlandais
  • Anglais
  • Finnois
  • Français
  • Allemand
  • Grec
  • Hongrois
  • Italien
  • Japonais
  • Coréen
  • Norvégien
  • Polonais
  • Portugais
  • Russe
  • Espagnol
  • Suédois
  • Turc
  • Arabe
  • Roumain
  • Serbe Cyrillique
  • Serbe Latin
  • Slovaque

Voici les paramètres de ce moteur :

  • Langue : Langue de texte pour la reconnaissance. Détection automatique par défaut.
  • Détectez l'orientation de l'image : Si elle est définie sur true, l'API autorote correctement l'image.

Si vous utilisez votre propre clé, vous devez obtenir une clé de souscription pour utiliser l'API Microsoft Computer Vision à partir du lien ci-dessous:

Étape 1 : Créez un compte sur Azure website

Veuillez noter que la clé doit être créée pour Computer Vision API. Le premier bouton "GET API key" vous rencontrez avec la navigation par une seule touche. Actuellement, Microsoft offre la possibilité de créer une clé d'essai pendant 7 jours. Vous pouvez également vous inscrire à un compte Azure gratuit pour plus de bande. L'inscription nécessite une carte de crédit. Si vous avez déjà un compte de souscription, vous pouvez ignorer cette étape.

Étape 2 : Déployer Cognitive Services

Vous avez maintenant un compte Azure.

Première connexion sur Azure Portal

Attendez jusqu'à que vous obteniez le message Portal is Ready, vous êtes connecté au portail Azure.

Trouvez le lien appelé All resources après le bouton All services et activez-le.

Attendez jusqu'à que vous obteniez le message Blade All resources are ready , le focus sera sur une zone d'édition, puis appuyez sur Shift Tab pour Trouver un élément de menu appelé add et activez-le.

Attendez jusqu'à que vous obteniez le message Search the Marketplace, tapez Cognitive Services et appuyez sur la flèche bas.

Attendez jusqu'à que vous obteniez le message List of options Cognitive Services un sur cinq, , puis appuyez sur Entrée.

Attendez jusqu'à que vous obteniez le message Blade Cognitive Services is ready, appuyez sur Tab ou b pour trouver un bouton nommé Create, activez-le.

Attendez jusqu'à que vous obteniez le message Blade Create is ready, le focus sera sur une zone d'édition, tapez un nom pour cette ressource. Notez que votre nom de ressource ne peut inclure que des caractères alphanumériques, '', '-', et ne peut pas se terminer avec '' ou '-'.

Je choisis NVDA_OCR.

Appuyez sur Tab pour accéder à la liste déroulante Subscription. Habituellement, vous pouvez le laisser tel quel.

Appuyez sur Tab pour accéder à la liste déroulante Location. Choisissez-en une près de votre position actuelle.

Assurez-vous de vous en souvenir car la position est requise dans la configuration du moteur.

Appuyez sur Tab pour accéder à la liste déroulante Pricing tie. Habituellement, une liaison gratuite comme F0 est adéquate. Si cela ne suffit pas, vous pouvez choisir un autre niveau après avoir lu les détails de la tarification complète sur le lien View full pricing details.

Appuyez sur Tab pour aller au groupe zone d'édition Create new Resource. Vous devez en créer un si vous n'avez pas de groupe de ressources. Appuyez sur Tab pour Rechercher le bouton Create new.

Ensuite, appuyez sur Tab pour allez au bouton Create pour créer cette ressource.

Attendez jusqu'à que vous obteniez le message Deployment succeeded.

Ensuite, recherchez le bouton Go to resource, Parfois, vous avez besoin de monter pour activer le bouton de notifications avant de pouvoir trouver le bouton Go to resource.

Attendez jusqu'à que vous obteniez le message Blade Quick Start is busy.

Trouvez le lien nommé keys, puis activez-le.

Attendez jusqu'à que vous obteniez le message Blade Manage keys is ready.

Recherchez la zone d'édition nommée key 1 ou key 2. Le contenu de cette zone d'édition est la clé API requise dans la configuration du moteur. Appuyez sur Ctrl-C pour le copier pour la configuration du moteur

Ensuite, vous pouvez remplir ces deux paramètres requis si vous utilisez votre propre clé API.

  • Région des ressources Azure : La région que vous choisissez lors du déploiement Cognitive Services dans Azure Portal.
  • Clé API : La clé que vous obtenez après avoir réussi à déployer Cognitive Services dans Azure Portal, la KEY 2 est recommandée.

Reconnaissance optique de caractères Baidu

Celui-ci est également une API payante avec un quota gratuit fourni par Baidu.

La reconnaissance optique de caractères Baidu prend en charge 10 langues, y compris

  • Mélange Chinois et Anglais
  • Anglais
  • Portugais
  • Français
  • Allemand
  • Italien
  • Espagnol
  • Russe
  • Japonais
  • Coréen

Ce moteur peut également obtenir la position de chaque caractère

Voici ses paramètres :

  • Obtenez la position de chaque caractère vous permet de faire une opération plus précise sur une application inaccessible. L'activation de cela rendra la reconnaissance légèrement plus lente.

  • Utilisez une API précise : Si elle est activée, utilisera un autre point de terminaison. Ce point de terminaison précis prend du temps mais a une qualité supérieure et (si vous utilisez votre propre clé API, son prix est également plus élevé).

Il a quatre points de terminaison avec une limite de quota séparée.

  • La reconnaissance optique de caractères de base sans aucune information sur la position du texte. Actuellement 50000 fois par jour.
  • La reconnaissance optique de caractères de base avec des informations sur la position du texte. Actuellement 500 fois par jour.
  • La reconnaissance optique de caractères précise sans aucune information sur la position du texte. Actuellement 500 fois par jour.
  • Précise avec des informations sur la position du texte. Actuellement 50 fois par jour.

Si vous appuyez sur le geste qui ne lise que le résultat, vous utilisez des points de terminaison sans aucune information sur la position du texte.

Si vous appuyez sur le geste qui montre une visionneuse de résultats, vous utilisez des points de terminaison avec des informations sur la position du texte.

Bien qu'il fournit un quota gratuit assez généreux, son site Web est chinois uniquement et pas tout à fait accessible.

Reconnaissance optique de caractères Tencent AI

Cette API est gratuite avec une limite de fréquence environ deux requêtes par seconde.

Si vous souhaitez contourner la limite, vous pouvez enregistrer votre propre clé API. Le site Web de cette API est chinois uniquement et pas tout à fait accessible.

Il n'y a aucune information sur le support de langue dans le document. Selon mon test, le chinois et l'anglais et leur mélange sont supportées.

Il n'y a pas de configuration supplémentaire pour cette API.

Journal des changements

0.19

  • Compatible avec NVDA 2020.2
  • Ajouter le moteur de reconnaissance optique de caractères Tencent Cloud financée par Tencent Cloud et Aceessibility Research Association
  • Supprimé la reconnaissance optique de caractères Sougou et la Machine Learning Engine non disponible par Oliver Edholm.
  • Correction du point de terminaison public sur NVDA China Site

0.18

  • Compatible avec Python3
  • Présentez le concept de type de source de reconnaissance et de type de moteur pour réduire l'utilisation des gestes.
  • Ajoutez un nouveau geste non assigné pour parcourir différents types de source de reconnaissance.
  • Ajoutez un nouveau geste non assigné pour parcourir différents types de moteurs de reconnaissance.
  • Ajoutez un nouveau geste pour reconnaître en fonction du réglage de la source d'image et du type de moteur.
  • Ajoutez un nouveau geste non assigné pour afficher le résultat précédent dans un document virtuel de résultat.

0.17

  • Correction des problèmes suivants :

    • Allez directement au panneau lorsque vous passez à onlineImageDescriber dans la boîte de dialogue de paramètres
    • Correction d'une mauvaise description dans Azure Analyzer

0.16

  • Ajouter un geste pour arrêter la reconnaissance
  • Correction des problèmes suivants :

    • État de changement de CheckListBox non annoncée
    • Inversez l'effet de la répétition du geste qui ne fonctionne pas dans online image describer

0.15

  • Ajoutez une option pour faire apparaître une fenêtre pop-up contenant un message au lieu d'un message audio ou braille pour les résultats de texte
  • Modifiez les cases à cocher pour les fonctionnalités visuelles dans Microsoft Azure Image Analyzer dans une liste de cases à cocher.
  • Correction des problèmes suivants :

    • Impossible de charger le fichier d'image JPG à partir du presse-papiers
    • L'objet de document de résultat n'apparaît pas après la reconnaissance.
    • La position dans les objets de document de résultat n'est pas fiable si l'image est redimensionnée en interne.
    • Le résultat de Microsoft Azure Image Describer est dans la même ligne qui rend difficile la navigation.

0.14

  • Correction de certains bogues :

    • Impossible d'utiliser votre propre clé API dans les moteurs Microsoft Azure
    • Impossible d'obtenir le résultat du texte s'il y a un afficheur braille

0.13

  • Assurez-vous que l'extension fonctionne lors du rechargement des extensions sans redémarrage (NVDA+Control+F3)

0.12

  • Correction du message en mode navigation de Microsoft Azure Image Describer
  • La couleur de l'accent est désormais représentée comme descriptions de couleurs NVDA.".
  • Format de résultat amélioré de Microsoft Azure Image Analyser
  • Améliorer le document en fonction de la révision des commentaires
  • Correction d'incohérence des gestes.
  • Control+Shift+NVDA il est pour le presse-papiers tandis que NVDA+ALT il est pour l'objet navigateur
  • Correction de l'erreur imageInfo manquante lors de la reconnaissance.

0.11

  • Ajout de la capacité de description de l'image
  • Changer addon summary à online image describer

0.10

  • Correction de l'erreur en utilisant la propre clé API de l'utilisateur dans l'API Sougou.
  • Corrigez le problème du panneau inconnu en ajoutant des paramètres à SupportEdSettings

0.9

  • Correction d'un problème de geste lors d'un double appui sans effet.
  • Document révisé pour refléter les modifications de code.
  • Clarifié le type d'image du presse-papiers pris en charge et comment copier l'image pour la reconnaissance.
  • Correction de la reconnaissance du presse-papiers qui ne peut pas ouvrir un problème de la visionneuse de résultats.
  • Ajout de la prise en charge pour reconnaître le chemin du fichier image local copié dans le presse-papiers.

0.8

  • Une notification amicalle supplémentaire si le résultat de la reconnaissance est vide.
  • Correction d'un autre endroit qui ne fonctionne pas bien avec le chemin de configuration non ASCII

0.6

  • Ajout de paramètres de proxy pour les personnes ayant accès à Internet derrière un proxy spécifique.
  • Ajout de plusieurs options générales.
  • Correction de l'erreur de décodage Unicode en raison de l'envoi de l'URL Unicode à URLlib3.

0.5

  • Correction de l'erreur Unicode si le fichier image du moteur de reconnaissance optique de caractères est charger directement au lieu de Base64 Encode.
  • Changez le geste de reconnaissance du presse-papiers Control+Shift+NVDA+R car NVDA+Shift+R est utilisé dans Word et Excel pour définir les en-têtes de ligne dans les tableaux, ou pour supprimer les définitions lorsqu'elle est appuyée deux fois.

0.4

  • Correction d'une erreur d'installation lorsque le chemin de configuration contient des caractères non ASCII
  • Changer le geste pour éviter la collision avec l'extension Golden Cursor.
  • Changer le moteur par défaut en Microsoft Azure car il peut détecter automatiquement la langue de texte.

0.3

  • Ajouter une documentation détaillée sur la façon d'obtenir la clé de l'API de reconnaissance optique de caractères Microsoft Azure
  • Correction d'un problème sur une nouvelle installation.
  • Supprimé la reconnaissance optique de caractères automatique car cette fonctionnalité est problématique et peut se confondre avec les moteurs en ligne. La reconnaissance optique de caractères automatique sera une extension séparée, lorsqu'elle sera suffisamment stable.