def mainOpera(imagem1, imagem2, operacao): # formato das imagens 1a e 1b são diferentes do esperado ImgOriginal1 = utils.LerImagem('../imagens/{}.png'.format(imagem1)) ImgOriginal2 = utils.LerImagem('../imagens/{}.png'.format(imagem2)) ImgResultado = utils.operation(ImgOriginal1, ImgOriginal2, operacao) fig, [ax1, ax2, ax3] = plt.subplots(1, 3, figsize=(10, 5)) ax1.imshow(ImgOriginal1, cmap='gray') ax2.imshow(ImgOriginal2, cmap='gray') ax3.imshow(ImgResultado, cmap='gray') plt.show()
def Quarta_Questao_separar(imagem, SE, centrox, centroy): ImgOriginal = utils.LerImagem("../imagens/{}.jpg".format(imagem)) ImgOriginal = utils.Binarizar(ImgOriginal) fig, [ax1, ax2] = plt.subplots(1, 2) ax1.imshow(ImgOriginal, cmap='gray') imagemD = Operacoes.Dilation(ImgOriginal, SE, 1, 1) imagemD = Operacoes.Dilation(imagemD, SE, 1, 1) imagemD = Operacoes.Dilation(imagemD, SE, 1, 1) imagem = Operacoes.Preencher_furos(imagemD, SE, 1, 1) imagem = Operacoes.Erosion(imagem, SE, 1, 1) imagem = Operacoes.Erosion(imagem, SE, 1, 1) imagem = Operacoes.Erosion(imagem, SE, 1, 1) erodi = Operacoes.Erosion(ImgOriginal, SE, 1, 1) # erodi = Operacoes.Erosion(erodi,SE,1,1) # erodi = Operacoes.Erosion(erodi,SE,1,1) # erodi = Operacoes.Erosion(erodi,SE,1,1) subImg = np.array(imagem) - np.array(erodi) # subImg = ImgOriginal - subImg separa = utils.operation(subImg, ImgOriginal, 'xor') ax2.imshow(separa, cmap='gray') plt.show()
def esqueletizacao(imagem): ImgOriginal = utils.LerImagem("../imagens/{}.bmp".format(imagem)) ImgOriginal = utils.Binarizar(ImgOriginal) esqueleto = extracao.Esqueleto(ImgOriginal) fig, [ax1, ax2] = plt.subplots(1, 2) ax1.imshow(ImgOriginal, cmap='gray') ax2.imshow(esqueleto, cmap='gray') plt.show()
def filtro_de_ruido(imagem, SE, centrox, centroy): ImgOriginal = utils.LerImagem("../imagens/{}.jpg".format(imagem)) ImgOriginal = utils.Binarizar(ImgOriginal) fig, [ax1, ax2] = plt.subplots(1, 2) ax1.imshow(ImgOriginal, cmap='gray') imagem = Operacoes.Opening(ImgOriginal, kernel, centrox, centroy) imagem = Operacoes.Closing(imagem, kernel, centrox, centroy) ax2.imshow(imagem, cmap='gray') plt.show()
def Chain(imagem): ImgOriginal = utils.LerImagem("../imagens/{}.bmp".format(imagem)) ImgOriginal = utils.Binarizar(ImgOriginal) borda = utils.bordas(ImgOriginal) # fig,[ax1, ax2] = plt.subplots(1,2) # ax1.imshow(ImgOriginal,cmap='gray') # ax2.imshow(borda,cmap='gray') # plt.show() teste = extracao.ChainCode(borda, 8, 30, 30) print(teste)
def Preenche_furos(imagem, SE, centrox, centroy): ImgOriginal = utils.LerImagem("../imagens/{}.jpg".format(imagem)) fig, [ax1, ax2] = plt.subplots(1, 2) ax1.imshow(ImgOriginal, cmap='gray') ImgOriginal = utils.Binarizar(ImgOriginal) imagem = Operacoes.Dilation(ImgOriginal, kernel, centrox, centroy) imagem = Operacoes.Dilation(imagem, kernel, centrox, centroy) imagem = Operacoes.Preencher_furos(imagem, kernel, centrox, centroy) imagem = Operacoes.Erosion(imagem, kernel, centrox, centroy) # imagem = Operacoes.Erosion(imagem,kernel,centrox,centroy) ax2.imshow(imagem, cmap='gray') plt.show()
def Quarta_Questao(imagem, SE, centrox, centroy): ImgOriginal = utils.LerImagem("../imagens/{}.jpg".format(imagem)) ImgOriginal = utils.Binarizar(ImgOriginal) fig, [ax1, ax2] = plt.subplots(1, 2) ax1.imshow(ImgOriginal, cmap='gray') imagemD = Operacoes.Dilation(ImgOriginal, SE, 1, 1) imagemD = Operacoes.Dilation(imagemD, SE, 1, 1) imagemD = Operacoes.Dilation(imagemD, SE, 1, 1) imagem = Operacoes.Preencher_furos(imagemD, SE, 1, 1) imagem = Operacoes.Erosion(imagem, SE, 1, 1) imagem = Operacoes.Erosion(imagem, SE, 1, 1) imagem = Operacoes.Erosion(imagem, SE, 1, 1) ax2.imshow(imagem, cmap='gray') plt.show()
def main(imagem,tipo,filtro,m,n): ImgOriginal = utils.LerImagem('../imagens/{}.jpg'.format(imagem)) # ImgOriginal = np.array(segmentacao.limirizacaoLocal(utils.LerImagem('../images/{}.jpg'.format(imagem)), 'sobel',),dtype='uint8') # BinaryImg = segmentacao.otsu(ImgOriginal) # ImgFiltrada = bordas.Derivative(ImgOriginal,tipo, filtro,m,n) # limiar = 0.1*np.mean(ImgFiltrada) # BinaryImg = utils.Threshold(ImgFiltrada,limiar) BinaryImg = bordas.Canny(ImgOriginal,m,n) fig, [ax1,ax2] = plt.subplots(1,2,figsize=(20,30)) ax1.imshow(ImgOriginal,cmap='gray') ax2.imshow(BinaryImg,cmap='Greys') plt.savefig('../resultados/{}_{}_{}_{}x{}.png'.format(tipo,imagem,filtro,m,n),dpi=150,bbox_inches='tight') plt.show()