iPhone: como usar os recursos de detecção de texto do iOS

O Vision no iOS 11 tem tudo que você precisa para criar um aplicativo que possa reconhecer caracteres de texto com implementação acontecendo simultaneamente. Você não precisa de um conhecimento técnico de codificação - navegar pelo recurso é bastante simples. Além do mais, a implementação é perfeita.

Visão Framework

A estrutura de visão permite que você implemente facilmente qualquer tarefa que envolva detalhes do computador. A estrutura realiza detecção de rosto e rosto, reconhecimento de código de barras, registro de imagem, rastreamento de recursos gerais e detecção de texto. O Vision também permite que você use modelos personalizados do Core ML para tarefas como classificação ou detecção de objetos.

VN DetectTextRectanglesRequest

VN DetectTextRectanglesRequest  é uma solicitação de análise de imagem que encontra regiões de texto visível em uma imagem; o recurso retorna caracteres de texto como uma caixa delimitadora retangular com origem e tamanho.

Se você está acostumado a usar o Swift e já programa há algum tempo, provavelmente está se perguntando para que serve o Vision quando há outros recursos como imagem e AVFoundation. Bem, a visão é mais precisa e direta. O recurso também está disponível em uma variedade de plataformas. No entanto, o uso do Vision pode exigir mais poder de processamento e tempo de processamento.

Para usar o Vision para detecção de texto, você precisará do Xcode 9 e de um dispositivo que execute o iOS 11.

Criando uma câmera com Avcapture

Primeiro, você precisa criar uma câmera com  AVCapture ; isso ocorre inicializando um objeto AVcapturesession para realizar a captura em tempo real ou offline. Depois disso, faça a sessão para a conexão do dispositivo.

Para economizar tempo na construção de uma IU do seu aplicativo, considere ter um projeto inicial; para começar, isso lhe dará tempo para se concentrar no aprendizado da estrutura Vision.

Abra seu projeto inicial. As visualizações no storyboard devem estar prontas e configuradas para você.

No  ViewController.swift,  procure a seção de código com funções e saídas.

No outlet- ImageView, d eclare uma sessão para  AVcapturesession  - isso é usado sempre que você deseja ações realizadas com base em uma transmissão ao vivo.

Defina a  sessão de captura AV  e o  tipo  de mídia AV para vídeo, pois você executará a filmagem da câmera para permitir que ela seja executada continuamente

Defina o dispositivo de saída e entrada

A entrada é o que a câmera verá e a saída é o vídeo em um formato de tipo definido de KCVPixelFormatType_32GRA.

Finalmente, adicione uma  subcamada  que contém vídeos para  imageView  e inicie a sessão. A função é conhecida como  inViewdidload.  Você também precisa definir o quadro da camada.

Chame a função no   método viewWillAppear .

Como os limites ainda não foram finalizados, substitua o  método viewDidLayoutSubviews ()  para atualizar os limites das camadas.

Após o lançamento do iOS 10, uma entrada adicional em Info.plist é necessária, isso fornece um motivo para usar a câmera. Você também deve definir a descrição de uso da câmera de privacidade.

Detecção de texto; Como funciona o Vision Framework

Existem três etapas para implementar o Vision no aplicativo.

Manipuladores -  quando você deseja que a estrutura faça algo depois que a solicitação for chamada.

Observações -  isto é o que você deseja fazer com os dados fornecidos por você, começando com uma solicitação

Solicitações -  é quando você pede a estrutura do Detect

Idealmente, você cria uma solicitação de texto como  VNdetecttextrectanglesrequest . Este é um tipo de  VNrequest  que se limita ao texto. Depois que a estrutura conclui o aplicativo, prossiga para chamar a   função Dettexthandler . Você também vai querer saber o quadro exato que foi reconhecido, defina-o como  Reportcharacterboxes = True.

Depois disso, defina as observações que contêm todos os resultados de  VNdetecttextrectanglesrequest , lembre-se de adicionar Vision à câmera de saída. Como o Vision expõe APIs de alto nível, trabalhar com ele é seguro.

A função verifica se  Cmsamplebuffer  existe e PutOut  Avcaptureoutput . Você deve então prosseguir para criar uma variável  Requestoptions  como 1 Dicionário Type  VNimageoption . A   opção VNmage é um tipo de estrutura que contém propriedades e dados da câmera. Você deve então criar o  VNimagerequesthandler  e executar a solicitação de texto.

Desenho de bordas ao redor do texto detectado

Você pode começar com a estrutura para desenhar duas caixas, uma para cada letra detectada e a outra para cada palavra. As tabelas são a combinação de todas as caixas de caracteres que sua solicitação encontrará.

  • Defina os pontos em sua visualização para ajudá-lo a posicionar as caixas.
  • Depois disso, crie um  CALaye r; use  VNrectangleobservation  para definir suas restrições, facilitando o processo de delinear a caixa.

Agora você tem todas as suas funções definidas.

Para conectar seus pontos, comece executando seu código de forma assíncrona. Você deve então verificar se existe uma região nos resultados de seu  VNTextObservation .

Agora você pode chamar sua função, que desenhará uma caixa dentro da área. Verifique se há caixas de caracteres na região e chame o serviço que traz uma caixa ao redor de cada letra.

Depois disso, crie uma variável  RequestOptions. Agora você pode criar um  objeto VNImageRequestHandler  e executar a solicitação de texto que você criou.

Finalmente, a última etapa é executar seu código de visão com a transmissão ao vivo. Você precisará pegar a saída de vídeo e convertê-la em  Cmsamplebuffer.

Dicas Adicionais

Sempre tente cortar a imagem e processar apenas a seção necessária. Isso reduzirá o tempo de processamento e a pegada de memória

Ative a correção de idioma ao lidar com caracteres não numéricos e, em seguida, desative-a ao lidar com caracteres numéricos

Incluir validação para cadeias de números reconhecidas para confirmar a precisão e eliminar a exibição de valores falsos para o usuário.

O controlador da câmera de documentos é o melhor companheiro para reconhecimento de texto, pois a qualidade da imagem desempenha um papel significativo no reconhecimento de texto.

Considere definir uma altura mínima do texto para aumentar o desempenho.

Com o Vision, você tem tudo o que precisa para reconhecimento de texto. Visto que o Vision é fácil de usar e leva pouco tempo para implementação, usá-lo é quase equivalente a brincar com Legos. Experimente testar seu aplicativo em diferentes objetos, fontes, iluminação e tamanhos. Você também pode se impressionar combinando o Vision com o Core ML.



Leave a Comment

Quatro maneiras principais de desfocar parte da imagem no iPhone e iPad

Quatro maneiras principais de desfocar parte da imagem no iPhone e iPad

Você quer esconder algo em uma foto? Aqui estão as melhores maneiras de desfocar parte de uma imagem no iPhone e iPad.

6 maneiras de consertar o widget de relógio do iPhone mostrando a hora errada

6 maneiras de consertar o widget de relógio do iPhone mostrando a hora errada

O widget de relógio do iOS está exibindo a hora incorreta ou não está sendo atualizado? Aprenda como consertar o widget de relógio que mostra a hora errada no iPhone.

Como transferir músicas do computador para o iPhone com ou sem iTunes

Como transferir músicas do computador para o iPhone com ou sem iTunes

Você tem músicas incríveis armazenadas no seu PC com Windows? Veja como você pode transferir músicas do computador para o iPhone com ou sem o iTunes.

Como corrigir Esta música não está disponível em sua região no Apple Music no iPhone

Como corrigir Esta música não está disponível em sua região no Apple Music no iPhone

O Apple Music exibe um erro que diz Esta música não está disponível no momento em seu país ou região? Aqui está um guia para corrigir o erro!

4 maneiras fáceis e rápidas de converter Word em PDF no iPhone e iPad

4 maneiras fáceis e rápidas de converter Word em PDF no iPhone e iPad

Se você possui um iPhone ou iPad, pode converter facilmente documentos do Word em PDF. Leia para descobrir vários métodos para fazer isso.

Nove maneiras principais de corrigir o recebimento de mensagens de texto atrasadas no iPhone

Nove maneiras principais de corrigir o recebimento de mensagens de texto atrasadas no iPhone

Você enfrenta atraso no recebimento de mensagens de texto no iPhone? Aqui estão as melhores maneiras de corrigir o recebimento tardio de mensagens de texto no iPhone.

Como converter facilmente imagens JPG em HEIC no iPhone

Como converter facilmente imagens JPG em HEIC no iPhone

Quer economizar espaço e converter imagens JPEG em HEIC no iPhone? Dê uma olhada neste artigo para três métodos fáceis de fazer isso!

Como consertar atividades ao vivo que não funcionam no iPhone (iOS 16 atualizado)

Como consertar atividades ao vivo que não funcionam no iPhone (iOS 16 atualizado)

Se o recurso Atividades ao vivo não estiver funcionando no seu iPhone, aqui estão algumas soluções funcionais para ajudá-lo a corrigir o problema.

Como ativar ou desativar automaticamente o modo avião no iOS

Como ativar ou desativar automaticamente o modo avião no iOS

Quer aproveitar ao máximo o Modo Avião dos iPhones? Aqui está um truque interessante para agendar o Modo Avião usando a automação do iPhone.

6 principais correções para imagens que não carregam no aplicativo Mail para iPhone

6 principais correções para imagens que não carregam no aplicativo Mail para iPhone

O aplicativo Apple Mail do seu iPhone não carrega imagens em seus e-mails? Aqui estão algumas dicas que ajudarão a resolver o problema rapidamente.