Transcrições
1. VISÃO GERAL: Oi. Nesta classe, você criará um scanner de documentos simples usando a biblioteca OpenCV e o Python. Isso pode ser útil, por exemplo, para digitalizar
páginas em um livro. Meu nome é Yassin e eu
serei seu instrutor
neste curso. Eu programo
desde 2019. E eu sou o autor do vlog. Não se repita .org,
onde tenho mais de 5 mil desenvolvedores por
mês para aprender
mais sobre Python, aprendizado
de máquina
e visão computacional. Agora, para criar nossos projetos, precisaremos converter
a imagem de entrada em uma escala de cinza e
encontrar as bordas da imagem usando o detector de bordas
canny. Em seguida, podemos usar essas bordas para encontrar os contornos da imagem. E a partir daí, selecionaremos apenas os contornos
do documento. E, finalmente, podemos
aplicar o que chamamos de
perspectiva de trabalho para obter uma visão de
cima para baixo do documento, fique à vontade para ver
a descrição do curso e espero
ver você lá dentro.
2. Instalação: A primeira coisa que precisamos
fazer é instalar os pacotes necessários úteis
para o processamento de imagens. Então, vamos instalar o
OpenCV e o não pi. Vamos primeiro começar com o OpenCV, abrir uma nova
janela do terminal e executar o comando pip,
instalar o polígono OpenCV. No meu caso, você pode ver que eu já
tenho o Open CV instalado. Requisito, já satisfeito. Mas eu só quero criar
um ambiente virtual. Assim, o trio pode ver o que você
obtém quando o instalou. Ambiente virtual, ou você
pode ficar preso à rede. Agora, vamos instalar o Open CV. CV. Aqui você pode ver que o
OpenCV foi
instalado com sucesso junto com o CV
sem canal aberto. Então, eu não preciso instalar. Aqui. Você pode ver que
eu tenho o CV aberto 4.54.5, inversão do OpenCV e a
divisão do não pi é 1.22.1. Precisamos instalar
outros pacotes. O primeiro é que eu sou um pacote de
mutagênicos, e também precisamos da barra lateral, que é necessária para o estilo Ionic. Aqui você pode ver que o
PI tem a versão 0.51.4. Saberemos que o romance some soapy é a versão 1.37.
3. Carregue a imagem: Portanto, importaremos o Open CV e poderemos ler nosso CV de
imagem a ponto. E também vamos redimensionar nossa imagem. Então, vamos dizer ferramenta de currículo,
lote, redimensionar imagem. Aqui diremos
largura e altura. No futuro, definiremos
nossa largura e altura. Então, digamos 600 para a
largura e 800 para a altura. Vamos também definir a cor verde. Então, podemos dizer que verde
é igual a 2550. Agora, o ponto da imagem, queremos usar esse
cabelo e queremos
obter a visão
de cima para baixo deste documento aqui.
4. Processamento de imagem: Agora podemos começar a
processar nossa imagem. Então, começaremos
convertendo-o em escala de cinza. Em seguida, aplicaremos
um desfoque gaussiano. Nós podemos escrever, ótimo. I é igual a CV para imagem colorida
Série D, CB2, cor BGR para cinza. E aqui vamos ler o desfoque gaussiano
CB2. E, finalmente, podemos detectar as bordas usando o detector
Canny. Então, veremos V2 dot
Carney, nossa imagem. E digamos que 75 para o primeiro limite e 200
para o segundo limite. Agora podemos exibir
nossa imagem CB2 dot, tenho certeza, mensagem. E também podemos
exibir a imagem. Então vamos, aqui está nossa imagem
original e nossa imagem.
5. Use as bordas para encontrar todos os contornos: Agora podemos passar
para a próxima etapa, que é encontrar e
traçar os contornos. Portanto, podemos usar a função CB2 dot find contornos para
encontrar os contornos. Portanto, podemos dizer contornos
aos contornos dos pontos CB2. E aqui nós fornecemos o
condado ou a imagem. Aqui, para o modo de recuperação, podemos dizer CV de duas listas de três
pontos. E para o método de
aproximação, podemos dizer símbolo dos produtos Jane. Agora podemos exibir nossa
imagem e, em seguida, desenhar
os contornos e depois reexibir nossa imagem
com os contornos. Então, podemos dizer currículo para
anotar, tenho certeza de imagem. E aqui vamos
desenhar os contornos. Fornecemos nossa imagem, nossos contornos e o sinal negativo para fazer tudo
nos contornos. Então você pode usar
a cor verde. E três para a espessura. Vamos ver o que temos até agora. Então essa é a nossa imagem e esses são os contornos, não temos
um cavalheiro na imagem.
6. Selecione apenas as bordas do documento: Em seguida, precisamos encontrar o
maior contorno da imagem. Então esse contorno aqui, porque esse
será o nosso documento. Então, o que podemos fazer é classificar nossos contornos por área, da
maior para a menor. Podemos usar a função ordenada, que é uma função embutida do
Python. Então, podemos escrever aqui, os contornos são iguais aos ordenados. Então, aqui queremos classificar nossos
contornos e especificar a área de nossos contornos usando a função de área de
contorno CV 2D. E também queremos classificá-los
do maior para o menor. Então, podemos escrever aqui, reverso é igual a verdadeiro. Portanto, nesta lista, teremos os
maiores contornos primeiro do que o menor
no final da lista. Então, a seguir, o que podemos
fazer é percorrer essa
lista de contornos. E então veremos
parceiros em cada contorno. Então, se encontrarmos um
contorno com quatro pontos, podemos supor que encontramos nosso documento para que possamos
sair do loop. Então, podemos escrever
aqui para contorno. Contornos. Agora, para aproximar o contorno, podemos primeiro calcular
seu perímetro usando o CV para a função de
comprimento do arco. Assim, podemos escrever que o perímetro
é igual a c v2 ponto r. E aqui
fornecemos nosso contorno. E quanto mais adiante for o segundo
argumento, diremos verdadeiro para indicar que o
contorno está fechado. Agora podemos aproximar nosso contorno usando
o CV para aprox., função
poly D p. Assim, podemos escrever que o fluxo é igual a Cv em aproximadamente Pauly D p. E aqui fornecemos nosso contorno. Em seguida, precisamos especificar a precisão
da aproximação. Podemos dizer 0,05 vezes o
perímetro do contorno. E o cabeçalho. Podemos dizer verdadeiro para indicar
que o contorno está fechado. Agora podemos verificar se o contorno aproximado
tem quatro pontos. Então, podemos escrever se o comprimento da nossa aproximação
for igual a quatro. Então, o que podemos fazer é armazenar
nosso contorno em uma variável. Então, digamos que os contornos do documento estejam de acordo com
nossa aproximação. E agora podemos
sair do circuito.
7. Aplicar a perspectiva de urdidura para obter a vista superior para baixo do documento: Agora estamos prontos para obter
a visão de cima para baixo
do nosso documento. Então, para isso, temos a função de
transformação de quatro pontos do pacote de mutantes IM. Então, primeiro precisamos
importar nossa função. Então, podemos dizer, do ponto de vista da
Utils, quatro pontos vezes um. Agora você não precisa se preocupar
muito com essa função. O que você precisa saber é que ele pega uma imagem e
um contorno como entrada e retorna a
visão de cima para baixo da imagem. Então, podemos escrever aqui, distorcido é igual a quatro
pontos transformados. E aqui passamos
nossa imagem original, mas aqui já temos o
genoma da nossa imagem. Então, o que podemos fazer é
tirar uma cópia da nossa imagem. Portanto, podemos dizer que o café de imagem é uma chamada para nossa cópia pontilhada da imagem
original. E agora podemos tirar a
cópia da nossa imagem original. Então, diremos que a imagem
copia a cabeça. Temos nossos contornos e os
remodelamos quatro por dois. E, finalmente, podemos
exibir nossa imagem, CB2 dot, tenho certeza. Vamos dizer sobre a
imagem e o distorcido. E também o
redimensionaremos para obter o mesmo
tamanho da nossa imagem. Então, diremos CV para
redimensionar nossa imagem distorcida. E usaremos a largura e a altura da nossa imagem
original. Então lá vamos nós. Aqui está nossa perspectiva. Agora, você pode ver que a
qualidade não é tão boa. E isso ocorre porque estamos
usando uma resolução menor, que é 600 por uma tangente. Agora, se você usar o tamanho
original da imagem, obviamente
obterá melhores resultados.