Online image describer
- Autor: Larry Wang
- Compatibilidade com NVDA: de 2018.3 para 2020.2
- Download versão de desenvolvimento
Esse complemento tem o objetivo de adicionar mecanismos de reconhecimento de imagens on-line ao NVDA.
Há dois tipos de mecanismos. OCR e descritor de imagens.
OCR extrai texto da imagem.
O descritor de imagens descreve os recursos visuais da imagem em forma de texto, como descrição geral, pontos de referência do tipo de cor e assim por diante.
É necessária uma conexão com a Internet para usar esse complemento, pois os serviços de descrição de imagens são fornecidos por pontos de extremidade de API na Internet.
Nesse complemento, eles são chamados de motores.
Há três tipos de mecanismo para esse complemento.
- Online OCR engine
- Online image describer engine
- Windows 10 OCR engine (offline)
Você também precisa escolher a fonte da imagem de reconhecimento.
- Objeto do navegador atual
- Janela atual em primeiro plano
- A tela inteira
- Dados de imagem ou arquivo da área de transferência
- Nome do caminho do arquivo de imagem ou URL da imagem da área de transferência
Comandos de teclado
Depois de escolher esses tipos, você pode iniciar o reconhecimento com um gesto.
NVDA+Alt+P Faça o reconhecimento de acordo com a configuração da fonte e do tipo de mecanismo e, em seguida, leia o resultado. Se pressionado duas vezes, abra um documento de resultado virtual.
Há quatro gestos adicionais que não foram atribuídos. Atribua-os antes de usá-los.
Percorra diferentes tipos de mecanismos de reconhecimento.
Percorrer diferentes tipos de fontes de reconhecimento.
Cancelar o reconhecimento atual
Esse gesto pode ser útil se você achar que esperou muito tempo e quiser cancelar.
Também, às vezes você não quer ser incomodado pela mensagem de reconhecimento porque precisa revisar algumas mensagens recebidas após o início do reconhecimento.
Mostrar o resultado anterior em um documento de resultado virtual.
Esse gesto pode ser útil se você achar que esperou muito tempo e quiser cancelar.
Há também quatro gestos antigos que não foram atribuídos aos usuários que preferem os gestos das versões anteriores.
Recomenda-se usar um novo gesto e trocar o tipo de motor de acordo com sua necessidade.
Reconhecer o objeto do navegador atual com o mecanismo de OCR on-line. Se pressionado duas vezes, abre um documento de resultado virtual.
Reconhece a imagem na área de transferência com o mecanismo de OCR on-line. Em seguida, lê o resultado. Se pressionado duas vezes, abre um documento de resultado virtual.
Reconhece o objeto do navegador atual e, em seguida, lê o resultado. Se pressionado duas vezes, abre um documento de resultado virtual.
Reconhece a imagem na área de transferência. Em seguida, lê o resultado. Se pressionado duas vezes, abre um documento de resultado virtual.
Configuração do motor
Você pode escolher os mecanismos de reconhecimento e configurá-los detalhadamente na categoria Online Image Describer na caixa de diálogo de configurações do NVDA.
O autor do complemento registrou uma conta com cota de API gratuita e configurou um servidor proxy em www.nvdacn.com para facilitar o teste inicial desse complemento. A cota de teste é limitada e pode ser cancelada pelo provedor de API a qualquer momento.
É altamente recomendável registrar sua própria chave de acordo com o guia de cada motor.
As configurações a seguir são aplicáveis a todos os motores.
- Copiie resultado do reconhecimento para a área de transferência: se ativado, o texto do resultado do reconhecimento será copiado para a área de transferência após o reconhecimento.
- Use mensagem navegável para resultado de texto: se ativado, o texto do resultado do reconhecimento será mostrado em uma janela pop-up em vez da mensagem de fala ou braile.
- Troque o efeito de gestos repetidos por gestos não repetidos: por padrão, um documento de resultado virtual é mostrado somente se você pressionar o gesto correspondente duas vezes; se você usar isso com frequência, poderá ativar essa opção para que seja necessário pressionar apenas uma vez para obter um visualizador de resultados.
- Habilite o registro mais detalhado para fins de depuração: alguns registros são essenciais para a depuração, mas afetam o desempenho e ocupam muito espaço. Só ative essa opção se for especificamente instruído pelo autor do complemento ou por um desenvolvedor do NVDA.
- Tipo de proxy: qual tipo de proxy você está usando. Se você não souber o que é um proxy, deixe-o como está.
- Endereço do proxy: URL completo de seu proxy. Se você não souber o que é um proxy, deixe-o como está. Se você optar por usar o proxy, ele será verificado antes de ser salvo; após a verificação, haverá um aviso para informar o resultado.
As configurações a seguir significam o mesmo em todos os motores; descreva-as aqui para economizar espaço.
Tipo de acesso à API: controla como você obtém acesso aos endpoints de API correspondentes.
- Se você escolher “Usar cota pública", estará usando a cota gratuita em uma conta registrada pelo autor do complemento.
- Se você escolher “Usar sua própria chave de API", esse complemento usará a cota de sua própria conta.
ID do aplicativo, chave de API ou chave secreta de API: se você quiser usar a cota de sua própria conta, os tokens de acesso correspondentes são necessários. Alguns mecanismos precisam apenas da chave de API. Alguns mecanismos exigem dois tokens. Eles só são válidos se você escolher “usar sua própria chave de API” no tipo de acesso à API.
Observe que a qualidade e a precisão dos resultados são afetadas por muitos fatores.
- Modelos e técnicas usados pelo fornecedor de motores
- Qualidade da imagem carregada
- O objeto do navegador está oculto atrás de outra coisa
- Resolução da tela
Descrição da imagem on-line
Aqui estão três motores disponíveis.
Analisador de imagens do Microsoft Azure
Esse mecanismo extrai um rico conjunto de recursos visuais com base no conteúdo da imagem.
Esse mecanismo é somente em inglês. Se quiser uma descrição em outros idiomas, você pode usar o Microsoft Azure Image Describer
Os recursos visuais incluem:
- Adulto - detecta se a imagem é de natureza pornográfica (retrata nudez ou um ato sexual). O conteúdo sexualmente sugestivo também é detectado.
- Brands - detecta várias marcas em uma imagem, incluindo a localização aproximada. O argumento Brands está disponível somente em inglês.
- Categorias - categoriza o conteúdo da imagem de acordo com uma taxonomia definida na documentação.
- Cor - determina a cor de destaque, a cor dominante e se uma imagem é em preto e branco.
- Descrição - descreve o conteúdo da imagem com uma frase completa nos idiomas suportados.
- Faces - detecta se há rostos presentes. Se estiverem presentes, gera coordenadas, gênero e idade.
- TipoDeImagem - detecta se a imagem é um clip art ou um desenho de linha.
- Objetos - detecta vários objetos em uma imagem, incluindo a localização aproximada. O argumento Objetos está disponível somente em inglês.
- Tags - marca a imagem com uma lista detalhada de palavras relacionadas ao conteúdo da imagem.
Alguns recursos também fornecem detalhes adicionais:
- Celebridades - identifica celebridades se detectadas na imagem.
- Pontos de referência - identifica pontos de referência se detectados na imagem.
Descritor de imagens do Microsoft Azure
Esse mecanismo gera uma descrição de uma imagem em linguagem legível por humanos com frases completas. A descrição é baseada em uma coleção de tags de conteúdo, que também são retornadas pela operação.
Mais de uma descrição pode ser gerada para cada imagem. As descrições são ordenadas por sua pontuação de confiança.
Há duas configurações para esse mecanismo.
- Idioma: o idioma no qual o serviço retornará uma descrição da imagem. Inglês por padrão.
- Máximo de candidatos: número máximo de descrições de candidatos a serem retornadas. O padrão é 1.
OCR on-line
Os mecanismos on-line dependem do uso e da presença dos seguintes serviços.
https://azure.microsoft.com/en-us/services/cognitive-services/
https://intl.cloud.tencent.com
Motores
Há cinco motores disponíveis.
Tencent Cloud OCR
Essa API é patrocinada pela [Tencent Cloud] (https://intl.cloud.tencent.com) e pela [Aceessibility Research Association] (http://www.siaa.org.cn), com uma cota de 15.000 por dia.
Esse mecanismo é compatível com 19 idiomas.
- Mix chinês-inglês
- Janponês
- Coreano
- Espanhol
- Francês
- Alemão
- Português
- Vietinamita
- Malaio
- Russo
- Italiano
- Holandês
- Sueco
- Finlandês
- Dinamarquês
- Norueguês
- Húngaro
- Tailandês
- Latino
Aqui estão as configurações desse mecanismo.
- Linguagem: Idioma do texto para reconhecimento. Detecção automática por padrão.
Espaço OCR
Esta é uma API paga com cota gratuita fornecida pelo [OCR Space] (https://ocr.space)
Ele suporta 24 idiomas
- Árabe
- Búlgaro
- Chinês (simplificado)
- Chinês (Tradicional)
- Croata
- Tcheco
- Dinamarquês
- Holandês
- Inglês
- Finlandês
- Francês
- Alemão
- Grego
- Húngaro
- Coreano
- Italiano
- Janponês
- Polonês
- Português
- Russo
- Esloveno
- Espanhol
- Sueco
- Turco
Aqui estão as configurações para esse mecanismo:
- Idioma: idioma do texto para reconhecimento. Inglês por padrão.
- Detectar a orientação da imagem: se definido como true, a API orienta automaticamente a imagem de forma correta.
- Dimensionar imagem para obter melhor qualidade: se definido como true, a API fará um aumento de escala interno. Isso pode melhorar significativamente o resultado do OCR, especialmente em digitalizações de PDF de baixa resolução.
- Otimizar para reconhecimento de tabela: se definido como verdadeiro, a lógica de OCR garante que o resultado do texto analisado seja sempre retornado linha por linha. Essa opção é recomendada para OCR de tabela, OCR de recibo, processamento de faturas e todos os outros tipos de documentos de entrada que tenham uma estrutura semelhante a uma tabela.
Se quiser usar sua própria chave, você também precisará especificar a API Key.
Você pode obter sua própria chave de API gratuita registrando-se em [OCR space] (https://ocr.space/ocrapi)
Aqui está um guia simples.
Localize o link “Registrar uma chave de API gratuita”
Clique nele e você encontrará um formulário para preencher.
O formulário solicita que você insira os seguintes dados
- Endereço de e-mail
- Primeiro nome
- Sobrenome
- Como você planeja usar a API de OCR?
Depois de preenchê-lo, envie-o. Talvez você também precise passar por um captcha
Em seguida, você receberá um e-mail de confirmação
Encontre o link chamado “Sim, inscreva-me nesta lista" nesse e-mail. Acesse esse link e você receberá a chave da API por e-mail em breve.
OCR do Microsoft Azure
Esse mecanismo usa a API de OCR no Microsoft Azure Cognitive Services Computer Vision.
Ele suporta 24 idiomas, incluindo
- Chinês Simplificado
- Chinês Tradicional
- Tcheco
- Dinamarquês
- Holandês
- Inglês
- Finlandês
- Francês
- Alemão
- Grego
- Húngaro
- Italiano
- Janponês
- Coreano
- Norueguês
- Polonês
- Português
- Russo
- Espanhol
- Sueco
- Turco
- Árabe
- Romeno
- \Cirílico sérvio
- Sérvio Latino
- Eslovaco
Aqui estão as configurações para esse mecanismo:
- Idioma: idioma do texto para reconhecimento. Detecção automática por padrão.
- Detectar a orientação da imagem: se definido como true, a API orienta automaticamente a imagem de forma correta.
Se você usar sua própria chave, deverá obter uma chave de assinatura para usar a API do Microsoft Computer Vision no link abaixo:
Etapa 1: Crie uma conta no [site do Azure] (https://azure.microsoft.com/en-ua/try/cognitive-services/)
Observe que a chave deve ser criada para a API Computer Vision. O primeiro botão “Obter chave de API" que você encontra com a navegação de chave única. Atualmente, a Microsoft oferece a opção de criar uma chave de avaliação por 7 dias. Você também pode se inscrever em uma conta gratuita do Azure para obter mais informações. A inscrição requer um cartão de crédito. Se você já tiver uma conta de assinatura, poderá pular esta etapa.
Etapa 2: Implantar serviços cognitivos
Agora você tem uma conta do Azure.
Primeiro login no Portal do Azure
Aguarde até receber a mensagem Portal O portal está pronto e você está conectado ao portal do Azure.
Localize o link chamado Todos os recursos após o botão Todos os serviços e ative-o.
Aguarde até receber a mensagem Todos os recursos estão prontos, seu foco será uma caixa de edição e, em seguida, pressione a tecla shift tab para localizar um item de menu chamado adicionar e ativá-lo.
Aguarde até receber a mensagem Pesquisar no Marketplace, digite Serviços Cognitivos e pressione a seta para baixo.
Aguarde até que apareça a mensagem Lista de opções Serviços cognitivos um de cinco e pressione Enter.
Aguarde até que a mensagem Serviços cognitivos Blade esteja pronta e pressione tab ou b para encontrar um botão chamado Criar para ativá-lo.
Aguarde até receber a mensagem Blade Criar está pronto, seu foco será uma caixa de edição, digite um nome para esse recurso. Observe que o nome do recurso só pode incluir caracteres alfanuméricos, '', '-', e não pode terminar com '' ou '-'.
Escolha o NVDA_OCR.
Pressione tab para ir para a caixa de combinação Assinatura. Normalmente, você pode deixá-la como está.
Pressione tab para ir para a caixa de combinação Localização. Escolha uma próxima à sua localização atual.
Lembre-se disso, pois a localização é necessária na configuração do motor.
Pressione tab para ir para a caixa de combinação Vínculo de preços. Normalmente, um vínculo gratuito como F0 é adequado. Se isso não for suficiente, você poderá escolher outro nível depois de ler os detalhes completos de preços no link Exibir detalhes completos de preços.
Pressione tab para ir para a caixa de edição Criar novo grupo de recursos. Você deve criar um se não tiver nenhum grupo de recursos. Pressione a guia e encontre o botãoCriar novo.
Em seguida, pressione a guia Ir para o botão Criar para criar esse recurso.
Aguarde até receber a mensagem Implantação bem-sucedida.
Em seguida, localize o botão Ir para o recurso. Às vezes, você precisa subir para ativar o botão Notificações antes de localizar o botão Ir para o recurso.
Aguarde até receber a mensagem O Blade Quick Start está ocupado.
Localize o link denominado chaves e, em seguida, ative-o.
Aguarde até receber a mensagem Blade O gerenciamento de chaves está pronto.
Encontre a caixa de edição chamada key 1 ou key 2. O conteúdo dessa caixa de edição é a chave de API necessária na configuração do mecanismo. Pressione Ctrl-C para copiá-la para a configuração do mecanismo
Então, você pode preencher essas duas configurações necessárias se usar sua própria chave de API.
- Região de recursos do Azure: a região que você escolhe ao implantar os Serviços Cognitivos no Portal do Azure.
- Chave de API: a chave que você obtém após implantar com êxito os Serviços Cognitivos no Portal do Azure; recomenda-se a KEY 2.
Baidu OCR
Essa também é uma API paga com cota gratuita fornecida pelo Baidu.
O Baidu OCR suporta 10 idiomas, incluindo
- Mistura de chinês e inglês
- Inglês
- Português
- Francês
- Alemão
- Italiano
- Espanhol
- Russo
- Janponês
- Coreano
Esse mecanismo também pode obter a posição de cada caractere
Aqui estão suas configurações:
Obter a posição de cada caractere permite que você faça operações mais precisas em alguns aplicativos inacessíveis. A ativação desse recurso tornará o reconhecimento um pouco mais lento.
Use Accurate API: se estiver ativado, usará um endpoint diferente. Esse endpoint preciso leva mais tempo, mas tem maior qualidade e (se você usar sua própria chave de API, o preço também será mais alto).
Ele tem quatro pontos de extremidade com limite de cota separado.
- OCR básico sem nenhuma informação sobre o local do texto. Atualmente, 50000 vezes por dia.
- OCR básico com informações sobre o local do texto. Atualmente, 500 vezes por dia.
- OCR preciso sem nenhuma informação sobre o local do texto. Atualmente, 500 vezes por dia.
- Preciso com informações sobre a localização do texto. Atualmente, 50 vezes por dia.
Se você pressionar o gesto que só lê o resultado, estará usando endpoints sem nenhuma informação sobre a localização do texto.
Se você pressionar o gesto que mostra um visualizador de resultados, estará usando pontos de extremidade com informações sobre a localização do texto.
Embora ofereça uma cota gratuita bastante generosa, seu site é apenas em chinês e não é muito acessível.
Tencent AI OCR
O uso dessa API é gratuito, com limite de frequência de cerca de duas consultas por segundo.
Se quiser contornar o limite, você pode registrar sua própria chave de API. O site dessa API é somente em chinês e não é muito acessível.
Não há informações sobre suporte a idiomas no documento. De acordo com meu teste, o chinês e o inglês e suas misturas são suportados.
Não há nenhuma configuração adicional para essa API.
Registro de alterações
0.19
- Compatível com o NVDA 2020.2
- Adicione o mecanismo de OCR da Tencent Cloud patrocinado pela [Tencent Cloud] (https://intl.cloud.tencent.com) e pela [Aceessibility Research Association] (http://www.siaa.org.cn)
- Removido o Sougou OCR e o mecanismo de aprendizado de máquina indisponíveis de Oliver Edholm.
- Corrigir o endpoint público no [site da NVDA na China] (https://www.nvdacn.com)
0.18
- Compatível com python3
- Introduzir o conceito de tipo de fonte de reconhecimento e tipo de mecanismo para reduzir o uso de gestos.
- Adicione um novo gesto não atribuído para percorrer diferentes tipos de fontes de reconhecimento.
- Adicione um novo gesto não atribuído para percorrer diferentes tipos de mecanismos de reconhecimento.
- Adicione um novo gesto para reconhecer de acordo com a fonte de imagem e a configuração do tipo de mecanismo.
- Adicione um novo gesto não atribuído para mostrar o resultado anterior em um documento de resultado virtual.
0.17
Correção dos seguintes problemas:
- Ir diretamente para o painel ao alternar para onlineImageDescriber na caixa de diálogo de configurações
- Correção de descrição incorreta no analisador do Azure
0.16
- Adicionar um gesto de reconhecimento de cancelamento
Correção dos seguintes problemas:
- Mudança de estado do CheckListBox não anunciada
- Trocar o efeito do gesto repetido que não está funcionando no descritor de imagens on-line
0.15
- Adicionar uma opção para abrir uma janela contendo uma mensagem em vez de uma mensagem de fala ou em braile para resultados de texto
- Altere as caixas de seleção para recursos visuais no Microsoft Azure Image Analyzer em um CheckBoxList.
Corrigir os seguintes problemas:
- Não é possível carregar o arquivo de imagem jpg da área de transferência
- O objeto do documento resultante não é exibido após o reconhecimento.
- A posição nos objetos do documento de resultado não é confiável se a imagem for redimensionada internamente.
- O resultado do Microsoft Azure Image Describer está na mesma linha, o que dificulta a navegação.
0.14
Correção de alguns erros:
- Não é possível usar sua própria chave de API nos mecanismos do Microsoft Azure
- Não é possível obter o resultado do texto se houver uma tela em braile
0.13
- Certifique-se de que o complemento funcione ao recarregar os plug-ins sem reiniciar (NVDA+Control+F3)
0.12
- Correção da mensagem de modo de navegação do Microsoft Azure Image Describer
- A cor de destaque agora é representada como descrições de cores NVDA.
- Melhoria no formato dos resultados do Microsoft Azure Image Analyser
- Melhorar o documento de acordo com os comentários da revisão
- Corrigido a inconsistência de gestos.
- Control+Shift+NVDA para a área de transferência e NVDA+ALT para o objeto do navegador
- Corrigido o erro imageInfo ausente durante o reconhecimento.
0.11
- Adicionado recurso de descrição de imagem
- Alterar o resumo do addon para o descritor de imagens on-line
0.10
- Correção de erro ao usar a chave de API do próprio usuário na API do sougou.
- Corrige o problema do painel desconhecido adicionando configurações ao ConfiguraçõesSuportadas
0.9
- Corrige o problema do gesto de pressionar duas vezes sem efeito.
- Documento revisado para refletir as alterações no código.
- Esclarecido que tipo de imagem da área de transferência é suportado e como copiar a imagem para reconhecimento.
- Foi corrigido o problema de reconhecimento da área de transferência que não permitia abrir o visualizador de resultados.
- Foi adicionado suporte para reconhecer o caminho do arquivo de imagem local copiado na área de transferência.
0.8
- Adicionado aviso amigável se o resultado do reconhecimento estiver vazio.
- Corrigido outro local que não funcionava bem com um caminho de configuração não ascii
0.6
- Adicionadas configurações de proxy para pessoas com acesso à Internet por meio de um proxy específico.
- Foram adicionadas várias opções gerais.
- Corrige erro de decodificação de Unicode devido ao envio de URL Unicode para urllib3.
0.5
- Correção de erro de Unicode se o mecanismo de OCR carregar o arquivo de imagem diretamente em vez de codificação base64.
- Alterar o gesto de reconhecimento da área de transferência para Control+Shift+NVDA+R, pois o NVDA+Shift+R é usado no Word e no Excel para definir cabeçalhos de linha em tabelas ou para excluir as definições quando pressionado duas vezes.
0.4
- Correção do erro de instalação quando o caminho de configuração contém caracteres não-ascii
- Altere o gesto para evitar a colisão com o cursor dourado.
- Altere o mecanismo padrão para o Microsoft Azure, pois ele pode detectar o idioma do texto automaticamente.
0.3
- Adicionar documentação detalhada sobre como obter a chave de API do Microsoft Azure OCR
- Corrige o problema da nova instalação.
- Removido o OCR automático, pois esse recurso é problemático e pode confundir os mecanismos on-line. O OCR automático será um complemento separado, quando estiver suficientemente estável.