👁️ OpenCV Cheat Sheet

📸 Site oficial do OpenCV (Documentação)

# Comando / Função O que faz Exemplo
1cv2.imread()Carrega uma imagem de um arquivoimg = cv2.imread('foto.jpg')
2cv2.imshow()Exibe uma imagem em uma janelacv2.imshow('Janela', img)
3cv2.imwrite()Salva uma imagem no discocv2.imwrite('saida.png', img)
4cv2.waitKey()Aguarda pressionamento de teclacv2.waitKey(0)
5cv2.destroyAllWindows()Fecha todas as janelas abertascv2.destroyAllWindows()
6cv2.VideoCapture()Inicia captura de vídeo ou câmeracap = cv2.VideoCapture(0)
7cap.read()Lê o próximo frame de um vídeoret, frame = cap.read()
8cv2.cvtColor()Converte o espaço de corescv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
9cv2.COLOR_BGR2RGBConverte BGR (padrão) para RGBcv2.cvtColor(img, cv2.COLOR_BGR2RGB)
10cv2.COLOR_BGR2HSVConverte para o espaço HSVcv2.cvtColor(img, cv2.COLOR_BGR2HSV)
11cv2.resize()Redimensiona a imagemcv2.resize(img, (width, height))
12cv2.flip()Inverte a imagem (espelhamento)cv2.flip(img, 1)
13cv2.rotate()Rotaciona a imagem (90, 180, 270)cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE)
14cv2.warpAffine()Aplica transformação afim (translação/rotação)cv2.warpAffine(img, M, (w, h))
15cv2.getRotationMatrix2D()Cria matriz para rotação customizadacv2.getRotationMatrix2D(center, angle, scale)
16cv2.line()Desenha uma linhacv2.line(img, p1, p2, (255,0,0), 2)
17cv2.rectangle()Desenha um retângulocv2.rectangle(img, p1, p2, (0,255,0), 3)
18cv2.circle()Desenha um círculocv2.circle(img, center, radius, color, -1)
19cv2.putText()Escreve texto na imagemcv2.putText(img, 'Olá', pos, font, 1, color)
20cv2.polylines()Desenha polígonoscv2.polylines(img, [pts], True, color)
21cv2.blur()Suavização simples (média)cv2.blur(img, (5,5))
22cv2.GaussianBlur()Suavização Gaussianacv2.GaussianBlur(img, (5,5), 0)
23cv2.medianBlur()Filtro de mediana (remove ruído sal e pimenta)cv2.medianBlur(img, 5)
24cv2.bilateralFilter()Suavização que preserva bordascv2.bilateralFilter(img, 9, 75, 75)
25cv2.Canny()Detector de bordas Cannycv2.Canny(img, 100, 200)
26cv2.threshold()Limiarização (binarização) simplesret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
27cv2.adaptiveThreshold()Binarização adaptativacv2.adaptiveThreshold(img, 255, ...)
28cv2.Sobel()Derivadas de Sobel (gradientes)cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=5)
29cv2.Laplacian()Calcula o Laplaciano da imagemcv2.Laplacian(img, cv2.CV_64F)
30cv2.erode()Erosão (encolhe áreas brancas)cv2.erode(img, kernel, iterations=1)
31cv2.dilate()Dilatação (expande áreas brancas)cv2.dilate(img, kernel, iterations=1)
32cv2.morphologyEx()Operações avançadas (Opening, Closing)cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
33cv2.getStructuringElement()Cria o kernel para morfologiacv2.getStructuringElement(cv2.MORPH_RECT, (5,5))
34cv2.findContours()Encontra contornos em imagem bináriacontours, hier = cv2.findContours(img, ...)
35cv2.drawContours()Desenha os contornos encontradoscv2.drawContours(img, contours, -1, color, 2)
36cv2.contourArea()Calcula a área de um contornoarea = cv2.contourArea(cnt)
37cv2.arcLength()Calcula o perímetro de um contornoperim = cv2.arcLength(cnt, True)
38cv2.boundingRect()Obtém o retângulo delimitadorx, y, w, h = cv2.boundingRect(cnt)
39cv2.CascadeClassifier()Carrega classificador Haar Cascadeface_cascade = cv2.CascadeClassifier('face.xml')
40cascade.detectMultiScale()Detecta objetos (ex: rostos)faces = face_cascade.detectMultiScale(gray)
41cv2.HoughLines()Detecta linhas (Transformada de Hough)cv2.HoughLines(edges, 1, np.pi/180, 200)
42cv2.HoughCircles()Detecta círculoscv2.HoughCircles(img, cv2.HOUGH_GRADIENT, ...)
43cv2.SIFT_create()Inicia o detector SIFTsift = cv2.SIFT_create()
44cv2.ORB_create()Inicia o detector ORB (alternativa gratuita)orb = cv2.ORB_create()
45detectAndCompute()Encontra pontos chave e descritoreskp, des = orb.detectAndCompute(img, None)
46cv2.BFMatcher()Brute-Force Matcher para descritoresbf = cv2.BFMatcher(cv2.NORM_HAMMING)
47cv2.calcHist()Calcula o histograma da imagemcv2.calcHist([img], [0], None, [256], [0,256])
48cv2.equalizeHist()Equalização de histograma (contraste)cv2.equalizeHist(gray_img)
49cv2.split()Divide canais de cores (B, G, R)b, g, r = cv2.split(img)
50cv2.merge()Une canais de coresimg = cv2.merge([b, g, r])
51cv2.add()Soma imagens (com saturação)cv2.add(img1, img2)
52cv2.addWeighted()Sobreposição transparente (blending)cv2.addWeighted(img1, 0.7, img2, 0.3, 0)
53cv2.bitwise_and()Operação lógica AND (Máscaras)cv2.bitwise_and(img, img, mask=mask)
54cv2.bitwise_not()Inverte as cores (NOT)cv2.bitwise_not(img)
55cv2.absdiff()Diferença absoluta (detecção de movimento)cv2.absdiff(frame1, frame2)
56cv2.copyMakeBorder()Adiciona bordas/moldurascv2.copyMakeBorder(img, 10, 10, 10, 10, ...)
57cv2.floodFill()Preenchimento de área conectadacv2.floodFill(img, mask, seed, newVal)
58cv2.inRange()Filtra cores em um intervalo (Máscara)cv2.inRange(hsv, lower, upper)
59cv2.matchTemplate()Busca uma imagem dentro de outracv2.matchTemplate(img, template, cv2.TM_CCOEFF_NORMED)
60cv2.minMaxLoc()Encontra valores mín/máx em matrizmin_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
61cv2.moments()Calcula momentos de imagem (centroide)M = cv2.moments(cnt)
62cv2.convexHull()Encontra o fecho convexohull = cv2.convexHull(cnt)
63cv2.isContourConvex()Verifica se contorno é convexocv2.isContourConvex(cnt)
64cv2.approxPolyDP()Simplifica a forma de um contornoapprox = cv2.approxPolyDP(cnt, epsilon, True)
65cv2.grabCut()Extração de foreground (fundo)cv2.grabCut(img, mask, rect, ...)
66cv2.distanceTransform()Calcula distância para pixels zerocv2.distanceTransform(img, cv2.DIST_L2, 5)
67cv2.connectedComponents()Rotula componentes conectadosnum, labels = cv2.connectedComponents(img)
68cv2.pyrUp()Aumenta a pirâmide da imagemcv2.pyrUp(img)
69cv2.pyrDown()Diminui a pirâmide da imagemcv2.pyrDown(img)
70cv2.remap()Mapeamento genérico de pixelscv2.remap(img, mapx, mapy, ...)
71cv2.getPerspectiveTransform()Matriz para correção de perspectivacv2.getPerspectiveTransform(pts1, pts2)
72cv2.warpPerspective()Aplica transformação de perspectivacv2.warpPerspective(img, M, (w,h))
73cv2.VideoWriter()Objeto para gravar arquivos de vídeoout = cv2.VideoWriter('v.avi', fourcc, 20.0, size)
74cv2.mean()Calcula a média de cor por canalcv2.mean(img)
75cv2.setMouseCallback()Captura eventos do mouse na janelacv2.setMouseCallback('Janela', func)
76cv2.createTrackbar()Cria uma barra deslizante (slider)cv2.createTrackbar('T', 'Janela', 0, 255, func)
77cv2.getTrackbarPos()Lê o valor atual do slidercv2.getTrackbarPos('T', 'Janela')