#coding=utf-8 import numpy as np import lib.readwrite as rw image1 = rw.readImage('../images/ruido1.jpg',True) image2 = rw.readImage('../images/ruido2.jpg',True) image3 = rw.readImage('../images/ruido3.jpg',True) M = image1.shape[0] N = image2.shape[1] final_image = np.zeros((M,N), dtype = 'uint8') for i in range(0,M): for j in range(0,N): value = np.uint16(image1[i,j]) + np.uint16(image2[i,j]) + np.uint16(image3[i,j]) final_image[i,j] = np.uint8(value/3) rw.writeImage('../images/ruidofinal.jpg',final_image)
def main(): # LETRA A: # Aplicando negativos naslimagens: img1 = rw.readImage('imgs/img1.jpg',False) img1 = e.imagemNegativa(img1) rw.writeImage('imgs/img1-negativo.jpg',img1) img2 = rw.readImage('imgs/img2.jpg',False) img2 = e.imagemNegativa(img2) rw.writeImage('imgs/img2-negativo.jpg',img2) img3 = rw.readImage('imgs/img3.jpg',False) img3 = e.imagemNegativa(img3) rw.writeImage('imgs/img3-negativo.jpg',img3) # LETRA B # Mapeamento dos níveis de cinza de 0 a 255 img = rw.readImage('imgs/img1.jpg',False) img255 = e.transformacaoLinear(img,0,255) rw.writeImage('imgs/img1-0a255.jpg',img255) # LETRA C # Mapeamento dos níveis de cinza de 100 a 200 img = rw.readImage('imgs/img1.jpg',False) img1100 = e.transformacaoLinear(img,100,200) rw.writeImage('imgs/img1-100a200.jpg',img1100) img = rw.readImage('imgs/img2.jpg',False) img2100 = e.transformacaoLinear(img,100,200) rw.writeImage('imgs/img2-100a200.jpg',img2100) img = rw.readImage('imgs/img3.jpg',False) img3100 = e.transformacaoLinear(img,100,200) rw.writeImage('imgs/img3-100a200.jpg',img3100) # LETRA D # Construir o histograma das transformações img1 = rw.readImage('imgs/img1.jpg',False) img2 = rw.readImage('imgs/img2.jpg',False) img3 = rw.readImage('imgs/img3.jpg',False) img1100 = rw.readImage('imgs/img1-100a200.jpg',False) img2100 = rw.readImage('imgs/img2-100a200.jpg',False) img3100 = rw.readImage('imgs/img3-100a200.jpg',False) x = range(0,256) output_filename_img1 = 'hist_img1.jpg' output_filename_img2 = 'hist_img2.jpg' output_filename_img3 = 'hist_img3.jpg' output_filename_img1100 = 'hist_img1-100a200.jpg' output_filename_img2100 = 'hist_img2-100a200.jpg' output_filename_img3100 = 'hist_img3-100a200.jpg' histograma1 = hist.getHistogram(img1, 256) histograma2 = hist.getHistogram(img2, 256) histograma3 = hist.getHistogram(img3, 256) histograma1100 = hist.getHistogram(img1100, 256) histograma2100 = hist.getHistogram(img2100, 256) histograma3100 = hist.getHistogram(img3100, 256) config1 = { 'filename': 'histogram/' + output_filename_img1, 'title':u'Histograma:' + output_filename_img1, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'grey', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } config2 = { 'filename': 'histogram/' + output_filename_img2, 'title':u'Histograma:' + output_filename_img2, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'grey', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } config3 = { 'filename': 'histogram/' + output_filename_img3, 'title':u'Histograma:' + output_filename_img3, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'grey', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } config1100 = { 'filename': 'histogram/' + output_filename_img1100, 'title':u'Histograma:' + output_filename_img1100, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'grey', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } config2100 = { 'filename': 'histogram/' + output_filename_img2100, 'title':u'Histograma:' + output_filename_img2100, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'grey', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } config3100 = { 'filename': 'histogram/' + output_filename_img3100, 'title':u'Histograma:' + output_filename_img3100, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'grey', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } p1 = plot.plotgraph(x, histograma1, config1) p1.savePlot() p2 = plot.plotgraph(x, histograma2, config2) p2.savePlot() p3 = plot.plotgraph(x, histograma3, config3) p3.savePlot() p1100 = plot.plotgraph(x, histograma1100, config1100) p1100.savePlot() p2100 = plot.plotgraph(x, histograma2100, config2100) p2100.savePlot() p3100 = plot.plotgraph(x, histograma3100, config3100) p3100.savePlot()
def main(): # Gerar a imagem equalizada da imagem 'aereo.png' img = rw.readImage('img/aereo.png',False) imgEqualizada = getImagemEqualizada(img, 256) rw.writeImage("img_equalizada/aereo_equalizado.png", imgEqualizada) # Gera a imagem equalizada da imagem 'placa.jpg' img = rw.readImage('img/placa.jpg',False) imgEqualizada = getImagemEqualizada(img, 256) rw.writeImage("img_equalizada/placa_equalizado.jpg", imgEqualizada) # Gera a imagem equalizada da imagem 'daenarys_modificada.jpg' img = rw.readImage('img/daenarys_modificada.jpeg',False) imgEqualizada = getImagemEqualizada(img, 256) rw.writeImage("img_equalizada/daenarys_modificada_equalizado.jpeg", imgEqualizada) # Gera a imagem equalizada da imagem 'lena_modificada.jpg' img = rw.readImage('img/lena_modificada.png',False) imgEqualizada = getImagemEqualizada(img, 256) rw.writeImage("img_equalizada/lena_modificada_equalizado.png", imgEqualizada) # Gera o histograma da imagem 'aereo.png' original img = rw.readImage('img/aereo.png',False) x = range(0,256) output_filename = 'hist_aereo.png' histograma = hist.getHistogram(img, 256) config = { 'filename': 'histogram/' + output_filename, 'title':u'Histograma da imagem aereo.png original:' + output_filename, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'gray', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } p = plot.plotgraph(x, histograma, config) p.savePlot() # Gera o histograma da imagem 'placa.jpg' original img = rw.readImage('img/placa.jpg',False) x = range(0,256) output_filename = 'hist_placa.png' histograma = hist.getHistogram(img, 256) config = { 'filename': 'histogram/' + output_filename, 'title':u'Histograma da imagem placa.jpg original:' + output_filename, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'gray', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } p = plot.plotgraph(x, histograma, config) p.savePlot() # Gera o histograma da imagem 'daenarys_modificada.jpeg' original (sem equalização) img = rw.readImage('img/daenarys_modificada.jpeg',False) x = range(0,256) output_filename = 'hist_placa_daenarys_modificada.png' histograma = hist.getHistogram(img, 256) config = { 'filename': 'histogram/' + output_filename, 'title':u'Histograma da imagem daenarys_modificada.jpg original (sem equalização):' + output_filename, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'gray', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } p = plot.plotgraph(x, histograma, config) p.savePlot() # Gera o histograma da imagem 'lena_modificada.png' original (sem equalização) img = rw.readImage('img/lena_modificada.png',False) x = range(0,256) output_filename = 'hist_placa_lena_modificada.png' histograma = hist.getHistogram(img, 256) config = { 'filename': 'histogram/' + output_filename, 'title':u'Histograma da imagem lena_modificada.png original (sem equalização):' + output_filename, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'gray', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } p = plot.plotgraph(x, histograma, config) p.savePlot() # Gera o histograma da imagem 'aereo.png' equalizada img = rw.readImage('img_equalizada/aereo_equalizado.png',False) x = range(0,256) output_filename = 'hist_aereo_equalizado.png' histograma = hist.getHistogram(img, 256) config = { 'filename': 'histogram_equalizado/' + output_filename, 'title':u'Histograma da imagem aereo.png equalizada:' + output_filename, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'red', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } p = plot.plotgraph(x, histograma, config) p.savePlot() # Gera o histograma da imagem 'placa.png' equalizada img = rw.readImage('img_equalizada/placa_equalizado.jpg',False) x = range(0,256) output_filename = 'hist_placa_equalizado.png' histograma = hist.getHistogram(img, 256) config = { 'filename': 'histogram_equalizado/' + output_filename, 'title':u'Histograma da imagem placa.jpg equalizada:' + output_filename, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'red', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } p = plot.plotgraph(x, histograma, config) p.savePlot() # Gera o histograma da imagem 'daenerys_modificada_equalizada.jpeg' equalizada img = rw.readImage('img_equalizada/daenarys_modificada_equalizado.jpeg',False) x = range(0,256) output_filename = 'hist_daenerys_modificada_equalizado.png' histograma = hist.getHistogram(img, 256) config = { 'filename': 'histogram_equalizado/' + output_filename, 'title':u'Histograma da imagem daenerys_modificada_equalizada.jpeg equalizada:' + output_filename, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'red', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } p = plot.plotgraph(x, histograma, config) p.savePlot() # Gera o histograma da imagem 'lena_modificada_equalizada.png' equalizada img = rw.readImage('img_equalizada/lena_modificada_equalizado.png',False) x = range(0,256) output_filename = 'hist_lena_modificada_equalizado.png' histograma = hist.getHistogram(img, 256) config = { 'filename': 'histogram_equalizado/' + output_filename, 'title':u'Histograma da imagem lena_modificada_equalizada.png equalizada:' + output_filename, 'xlabel':u'Nível de Cinza', 'ylabel':u'Frequência', 'color': 'red', 'alpha': 0.5, 'grid': 'on', 'xlimit': [0,255], } p = plot.plotgraph(x, histograma, config) p.savePlot() # RMSE: comparando 'daenarys_original.jpg' com 'daenarys_modificada_equalizado.jpeg' im1 = rw.readImage('img/daenarys_original.jpg',False) im2 = rw.readImage('img_equalizada/daenarys_modificada_equalizado.jpeg',False) err = rmse(im1, im2) # Imprime o rmse print("RMSE-daenarys: ",err) # RMSE: comparando 'lena_original.png' com 'lena_modificada_equalizado.png' im1 = rw.readImage('img/lena_original.png',False) im2 = rw.readImage('img_equalizada/lena_modificada_equalizado.png',False) err = rmse(im1, im2) # Imprime o rmse print("RMSE-lena: ",err)
g = a * math.sqrt(v_pixel) return g def funcaoExpo(v_pixel,f_max): a = 255 / (math.exp(f_max) - 1) g = a * (math.exp(v_pixel) - 1) return g img = rw.readImage('../images/daenarys_escuro.jpeg',False) imgLog = transformacaoNaoLinearLog(img) rw.writeImage('../images/daenarys_escuro-log.jpeg',imgLog) img = rw.readImage('../images/daenarys_escuro.jpeg',False) imgQuadr = transformacaoNaoLinearQuadr(img) rw.writeImage('../images/daenarys_escuro-quadr.jpeg',imgQuadr) img = rw.readImage('../images/daenarys_escuro.jpeg',False) x = range(0,256) output_filename_img = 'hist_img_daenarys.jpeg' output_filename_imglog = 'hist_img_daenarys-log.jpeg' output_filename_imgquadr = 'hist_img_daenarys-quadr.jpeg' histograma = hist.getHistogram(img, 256)