Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #adicione seu codigo
- import cv2 as cv
- import numpy as np
- from matplotlib import pyplot as plot
- def limiarizarParafusos(img):
- quantLinhas = np.size(img, 0)
- quantColunas = np.size(img, 1)
- imgSaida = np.zeros( (quantLinhas, quantColunas), dtype='uint8' )
- #inicio do seu codigo
- limiar = 181
- for linha in range(quantLinhas):
- for coluna in range(quantColunas):
- if img[linha][coluna] > limiar:
- imgSaida[linha][coluna] = 255
- else:
- imgSaida[linha][coluna] = 0
- #fim do seu codigo
- return imgSaida
- img = cv.imread("img14.jpg", cv.IMREAD_GRAYSCALE)
- imgBin = limiarizarParafusos(img)
- plot.imshow(imgBin, cmap='gray')
- def limiarizarPorcas(img):
- quantLinhas = np.size(img, 0)
- quantColunas = np.size(img, 1)
- imgSaida = np.zeros( (quantLinhas, quantColunas), dtype='uint8' )
- #inicio do seu codigo
- limiar = 185
- for linha in range(quantLinhas):
- for coluna in range(quantColunas):
- if img[linha][coluna] > limiar:
- imgSaida[linha][coluna] = 255
- else:
- imgSaida[linha][coluna] = 0
- #fim do seu codigo
- return imgSaida
- img = cv.imread("img05.jpg", cv.IMREAD_GRAYSCALE)
- imgBin = limiarizarPorcas(img)
- plot.imshow(imgBin, cmap='gray')
- def contarParafusos(imgBin):
- quantParafusos = 0
- #inicio do seu codigo
- (numCC, imgLabel, stats, centroids) = cv.connectedComponentsWithStats(imgBin)
- min = 780
- max = 2500
- for cod in range(numCC):
- if (stats[cod, cv.CC_STAT_AREA] >= min and stats[cod, cv.CC_STAT_AREA] <= max):
- quantParafusos += 1
- return quantParafusos
- print(contarParafusos(imgBin))
- plot.imshow(imgBin, cmap='gray')
- def contarPorcas(imgBin):
- quantPorcas = 0
- #inicio do seu codigo
- (numCC, imgLabel, stats, centroids) = cv.connectedComponentsWithStats(imgBin)
- min = 200
- max = 700
- for cod in range(numCC):
- if (stats[cod, cv.CC_STAT_AREA] >= min and stats[cod, cv.CC_STAT_AREA] <= max):
- quantPorcas += 1
- return quantPorcas
- print(contarPorcas(imgBin))
- plot.imshow(imgBin, cmap='gray')
- arquivos = ["img01.jpg", "img02.jpg", "img03.jpg", "img04.jpg", "img05.jpg", "img06.jpg", "img09.jpg", "img10.jpg"]#, "img11.jpg", "img12.jpg", "img13.jpg", "img14.jpg", "img15.jpg", "img16.jpg", "img17.jpg", "img18.jpg", "img19.jpg", "img20.jpg", "img21.jpg", "img22.jpg", "img23.jpg", "img24.jpg", "img25.jpg"]
- parafusos = [10,10,10, 5,9,10,10,10,10,10]#,10,10, 10,10,7,10,7,10,10,10,8,9,10]
- porcas = [10,10,10,10,9,10,10, 9, 10,10]#, 9,10,10,10,7,10,9,10,10,10,8,10,9]
- acertosPorcas = 0
- acertosParafusos = 0
- acertos = 0
- for i in range(len(arquivos)):
- img = cv.imread(arquivos[i], cv.IMREAD_GRAYSCALE)
- imgBinParafusos = limiarizarParafusos(img)
- contParafusos = contarParafusos(imgBinParafusos)
- imgBinPorcas = limiarizarPorcas(img)
- contPorcas = contarPorcas(imgBinPorcas)
- if (porcas[i] == contPorcas):
- acertosPorcas += contPorcas
- if (parafusos[i] == contParafusos):
- acertosParafusos += contParafusos
- if (porcas[i] == contPorcas and parafusos[i] == contParafusos):
- acertos += 1
- else:
- print("Falha:", arquivos[i], "Porcas:", contPorcas, "Parafusos:", contParafusos)
- #Resultado da validacao
- print("Taxa de acertos:", round((acertos/len(arquivos)*100),2))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement