Blog
Aprenda visão computacional rodando: explicações, demos interativas, código executável e benchmarks honestos.
Os artigos traduzidos para o português até agora, do mais novo ao mais antigo. Todos os posts, em inglês →
Fundamentos Achar todas as bolas numa mesa de sinuca com OpenCV
O segundo projeto de OpenCV na Prática: achar as bolas numa mesa de sinuca pela única cor que elas não têm, a do pano, e avaliar o resultado bola a bola contra uma contagem à mão em três fotos. 29 de 41 achadas com 2 alarmes falsos; 9 das 12 que faltaram estão encostadas em outra bola.
Fundamentos Corrigir uma foto mal exposta com OpenCV
O primeiro projeto de OpenCV na Prática: abrir uma foto tirada dois stops escura demais, ler seu histograma, testar cinco formas de corrigi-la e medir cada uma contra uma foto mais longa e bem exposta da mesma cena (o alvo). Multiplicar chega mais perto; as correções automáticas ficam mais longe.
Fundamentos Brilho e contraste no OpenCV
Clareie uma foto subexposta de dois jeitos, somando uma constante com cv2.add ou multiplicando com cv2.convertScaleAbs, e meça qual chega mais perto da exposição alvo: 18,0 contra 9,1.
Fundamentos Onde a detecção por cor falha no OpenCV
Compare um pipeline de máscara de cor com uma contagem feita à mão em três fotos de mesa de sinuca, corrija as caçapas e as sombras e veja o que a cor não resolve: 27 de 41 bolas achadas no início, 29 depois das correções, 9 das 12 perdidas encostadas em outra bola.
Fundamentos Recortar, redimensionar e salvar uma imagem no OpenCV
Termine a correção: recorte a carta de cores com fatiamento de array, reduza a foto com cv2.resize e INTER_AREA e salve com cv2.imwrite, onde a mesma imagem tem 54 KB como JPEG e 276 KB como PNG.
Fundamentos Encontrar, medir e filtrar contornos no OpenCV
Encontre o contorno de cada blob de uma máscara com cv2.findContours, meça sua área e circularidade e fique com os que têm forma de bola. Na mesa de sinuca 11 de 14 blobs passam e o taco é rejeitado com circularidade 0,12.
Fundamentos Achar a faixa HSV de um objeto no OpenCV
Leia os pixels de uma mesa de sinuca em HSV com cv2.cvtColor e ache a faixa que o pano ocupa: o valor de verde cai quase dez vezes entre a ponta iluminada e uma sombra, enquanto o matiz fica entre 86 e 90.
Fundamentos Correção gama no OpenCV com uma tabela de consulta
Monte uma tabela de consulta de 256 entradas e aplique com cv2.LUT para clarear mais os tons escuros que os claros. Com dois stops de falta, multiplicar vence (9,1 contra 10,7); com três, a gama vence (13,9 contra 15,1).
Fundamentos Histogramas de imagem no OpenCV
Conte quantos pixels há em cada brilho com cv2.calcHist, desenhe o histograma e leia nele que a foto escura tem 79,3% dos pixels no quarto inferior e 7,8% estourados.
Fundamentos Máscara de cor com cv2.inRange no OpenCV
Transforme uma faixa HSV numa máscara preto e branco com cv2.inRange, inverta-a com bitwise_not e aplique-a com bitwise_and. Na mesa de sinuca uma chamada marca 79,3% da foto como pano.
Fundamentos Equalização de histograma e CLAHE no OpenCV
Teste as correções automáticas de contraste do OpenCV, cv2.equalizeHist e CLAHE, numa foto escura com um abajur aceso, e meça por que elas ficam mais longe da exposição alvo (30,6 e 35,5) do que um simples multiplicador (9,1).
Fundamentos Erosão, dilatação, abertura e fechamento de uma máscara no OpenCV
Limpe uma máscara de cor com morfologia: a erosão encolhe as áreas brancas, a dilatação as aumenta, a abertura remove pontinhos e o fechamento preenche buracos. Na mesa de sinuca a máscara vai de 59 blobs para 14.
Abrir uma imagem e ler seus pixels no OpenCV
Carregue uma foto com cv2.imread, veja que ela é uma grade de números com forma e tipo, e leia um pixel e o brilho médio de uma foto tirada dois stops escura demais.