def menu(): choice = '' images = [None, None] names = ['', ''] while (choice is not 'Q' and choice is not 'q'): print("************MENU**************") #time.sleep(1) print() choice = input(""" A: Carregar imagem B: Exibir imagem C: Salvar imagem D: Exibir negativo E: Equalizar histograma F: Transformação de Intensidade Gray G: Transformação de Potencia H: Binarização de Imagem Q: Sair Imagens no sistema: %s Opção: """ % str(names)) if choice == "Q" or choice == "q": sys.exit elif choice == "A" or choice == "a": n = 1 - options(images, names, 'Qual das imagens deseja sobrescrever?') images[n], names[n] = lab1.loadImage() elif images[0] is None and images[1] is None: print('Nenhuma imagem no sistema') print('<Pressione ENTER para continuar>') input() elif choice == "B" or choice == "b": if images[1] is None: lab1.viewImage(images[0], names[0]) elif images[0] is None: lab1.viewImage(images[1], names[1]) else: lab1.viewImages(images, names) elif choice == "C" or choice == "c": n = options(images, names, 'Qual das imagens deseja salvar?') lab1.saveImage(images[n]) elif choice == "D" or choice == "d": n = options(images, names, 'Qual das imagens será negativa?') images[n] = negative(images[n]) elif choice == "E" or choice == "e": n = options(images, names, 'Qual das imagens será equalizada?') if len(images[n].shape) < 3: images[n] = equalizeHist_gray(images[n]) else: images[n] = equalizeHist(images[n]) elif choice == "F" or choice == "f": n = options(images, names, 'Qual das imagens será transformada (gray)?') mudar = input( "Deseja mudar os intervalos e valores da transformada (s/n)? ") if mudar == 's' or mudar == 'S': a, b, alfa, beta, charlie = input( "Qual é o valor do limiar (faixa de valores) 'a' e 'b', e quais os novos valores serão atribuídos aos intervalos 1, 2 e 3? [escrever em uma linha, separado por vírgula] " ) images[n] = trans_intensidade_gray(images[n]) elif choice == "G" or choice == "g": n = options(images, names, 'Qual das imagens será transformada?') images[n] = trans_potencia(images[n]) elif choice == "H" or choice == "h": n = options(images, names, 'Qual das imagens será binarizada?') value = input('Limiar? (0 < limiar < 255) :') value = int(value) if value > 0 and value < 255: images[n] = lab1.binarizar(images[n], value) #images[n] = binarizar_gray(images[n],float(limiar)) else: print("You must only select either A,B,C,D,E,F,G,H or Q.") print("Please try again")
def menu(): choice = '' images = [None, None] names = ['', ''] while (choice != 'Q' and choice != 'q'): print("************MENU**************") #time.sleep(1) print() choice = input(""" A: Carregar imagem B: Exibir imagem C: Salvar imagem D: Detecção de descontinuidades e limiarização E: Transformada de Hough F: K-means Q: Sair Imagens no sistema: %s Opção: """ % str(names)) if choice == "Q" or choice == "q": sys.exit elif choice == "A" or choice == "a": n = 1 - options(images, names, 'Qual das imagens deseja sobrescrever?') images[n], names[n] = lab1.loadImage() elif images[0] is None and images[1] is None: print('Nenhuma imagem no sistema') print('<Pressione ENTER para continuar>') input() elif choice == "B" or choice == "b": if images[1] is None: lab1.viewImage(images[0], names[0]) elif images[0] is None: lab1.viewImage(images[1], names[1]) else: lab1.viewImages(images, names) elif choice == "C" or choice == "c": n = options(images, names, 'Qual das imagens deseja salvar?') lab1.saveImage(images[n]) elif choice == "D" or choice == "d": n = options( images, names, 'Qual das imagens será aplicada detecção de descontinuidades e limiarização?' ) images[n] = descontinuidade(images[n]) elif choice == "E" or choice == "e": check = False while (not check): choice = input(""" Qual tranformada aplicar? Circulos(C) ou Linhas(L): """) if choice == 'L' or choice == 'l': check = True n = options( images, names, 'Qual das imagens será aplicado a Transformada de Hough?' ) print(""" Transformada de Hough(linhas)\n""") limiar = int(input("Qual o valor do limiar?")) images[n] = houghLinhas(images[n], limiar) elif choice == 'C' or choice == 'c': check = True n = options( images, names, 'Qual das imagens será aplicado a Transformada de Hough?' ) print(""" Transformada de Hough(circulos)\n""") raioMin = int( input("Qual o valor do raio minimo? (recomendado: 1)")) raioMax = int( input( "Qual o valor do raio maximo? (recomendado: 50)")) images[n] = houghCirculos(images[n], raioMin, raioMax) else: print("Opcao invalida") elif choice == "F" or choice == "f": n = options(images, names, 'Qual das imagens será aplicado o K-Means?') check = False while (not check): choice = input(""" Deseja usar a imagem em tons de cinza? Sim(S) ou Nao(N): """) if choice == 'S' or choice == 's': check = True gray = True elif choice == 'N' or choice == 'n': check = True gray = False K = int(input("Numero de regioes: ")) images[n] = kmeans(images[n], gray, K) else: print("You must only select either A,B,C,D,E,F,G or Q.") print("Please try again")
def menu(): choice = '' images = [None, None] names = ['', ''] while (choice is not 'Q' and choice is not 'q'): print("************MENU**************") #time.sleep(1) print() choice = input(""" A: Carregar imagem B: Exibir imagem C: Salvar imagem D: Filtro morfológico de erosão E: Filtro morfológico de dilatação F: Filtro Prewitt G: Filtro Kirsch H: Filtro de Canny I: Filtro bilateral Q: Sair Imagens no sistema: %s Opção: """ % str(names)) if choice == "Q" or choice == "q": sys.exit elif choice == "A" or choice == "a": n = 1 - options(images, names, 'Qual das imagens deseja sobrescrever?') images[n], names[n] = lab1.loadImage() elif images[0] is None and images[1] is None: print('Nenhuma imagem no sistema') print('<Pressione ENTER para continuar>') input() elif choice == "B" or choice == "b": if images[1] is None: lab1.viewImage(images[0], names[0]) elif images[0] is None: lab1.viewImage(images[1], names[1]) else: lab1.viewImages(images, names) elif choice == "C" or choice == "c": n = options(images, names, 'Qual das imagens deseja salvar?') lab1.saveImage(images[n]) elif choice == "D" or choice == "d": n = options(images, names, 'Qual das imagens será aplicado o filtro de erosão?') print("Erosão\n") mask = int( input( "Qual o tamanho da máscara? ex.: 5 - vai ser uma máscara 5x5 \n -->" )) mask = (mask, mask) tipo = -1 tipo = int( input( "Qual o formato da máscara? 0: retangular; 1: elíptica; 2:cruz. \n -->" )) images[n] = erosao(images[n], mask, tipo) elif choice == "E" or choice == "e": n = options( images, names, 'Qual das imagens será aplicado o filtro de dilatação?') print("Dilatação\n") mask = int( input( "Qual o tamanho da máscara? ex.: 5 - vai ser uma máscara 5x5 \n -->" )) mask = (mask, mask) tipo = -1 tipo = int( input( "Qual o formato da máscara? 0: retangular; 1: elíptica; 2:cruz. \n -->" )) images[n] = dilatar(images[n], mask, tipo) elif choice == "F" or choice == "f": n = options( images, names, 'Qual das imagens será aplicado o filtro de dilatação?') images[n] = prewitt(images[n]) elif choice == "G" or choice == "g": n = options( images, names, 'Qual das imagens será aplicado o filtro de dilatação?') images[n] = kirsch(images[n]) elif choice == "H" or choice == "h": n = options(images, names, 'Qual das imagens será aplicado o filtro de Canny?') images[n] = canny(images[n]) elif choice == "I" or choice == "i": n = options(images, names, 'Qual das imagens será aplicado o filtro bilateral?') images[n] = bilateral(images[n]) else: print("You must only select either A,B,C,D,E,F,G or Q.") print("Please try again")
def menu(): choice = '' images = [None , None] names = ['', ''] while(choice is not 'Q' and choice is not 'q'): print("************MENU**************") #time.sleep(1) print() choice = input(""" A: Carregar imagem B: Exibir imagem C: Salvar imagem D: Filtro de Mediana E: Exibir múltiplos filtros de mediana F: Filtro de Média G: Filtro Gaussiano H: Filtro Sobel I: Filtro Laplaciano Q: Sair Imagens no sistema: %s Opção: """ % str(names)) if choice=="Q" or choice=="q": sys.exit elif choice == "A" or choice =="a": n = 1 - options(images, names, 'Qual das imagens deseja sobrescrever?') images[n], names[n] = lab1.loadImage() elif images[0] is None and images[1] is None: print('Nenhuma imagem no sistema') print('<Pressione ENTER para continuar>') input() elif choice == "B" or choice =="b": if images[1] is None: lab1.viewImage(images[0], names[0]) elif images[0] is None: lab1.viewImage(images[1], names[1]) else: lab1.viewImages(images, names) elif choice == "C" or choice =="c": n = options(images, names, 'Qual das imagens deseja salvar?') lab1.saveImage(images[n]) elif choice=="D" or choice=="d": n = options(images, names, 'Qual das imagens será aplicado o filtro de mediana?') images[n] = calcMaskMedianaUnico(images[n]) elif choice=="E" or choice=="e": n = options(images, names, 'Qual das imagens serão aplicados vários filtros de mediana para serem exibidos??') exibirMultiplasMaskMediana(images[n]) elif choice=="F" or choice=="f": n = options(images, names, 'Qual das imagens será aplicado o filtro de Média?') images[n] = calcMaskMedia(images[n]) elif choice=="G" or choice=="g": n = options(images, names, 'Qual das imagens será aplicado o filtro Gaussiano?') images[n] = filterGaussian(images[n]) elif choice=="H" or choice=="h": n = options(images, names, 'Qual das imagens será aplicado o filtro Sobel?') images[n] = sobel(images[n]) elif choice=="I" or choice=="i": n = options(images, names, 'Qual das imagens será aplicado o filtro Laplaciano?') images[n] = laplaciano(images[n]) else: print("You must only select A to I or Q.") print("Please try again")
def menu(): choice = '' images = [None, None] names = ['', ''] while (choice is not 'Q' and choice is not 'q'): print("************MENU**************") #time.sleep(1) print() choice = input(""" A: Carregar imagem B: Exibir imagem C: Salvar imagem D: Exibir Histograms E: Calcular imagem-diferença, erro médio quadrático e PSNR F: Alterar a intensidade G: Alterar o brilho H: Fazer sub-amostragem I: Binarizar J: Exibir negativo K: Equalizar histograma L: Transformação de Intensidade Gray M: Transformação de Potencia N: Filtro de Mediana O: Exibir múltiplos filtros de mediana P: Filtro de Média R: Filtro Gaussiano S: Filtro Sobel T: Filtro Laplaciano Q: Sair Imagens no sistema: %s Opção: """ % str(names)) if choice == "Q" or choice == "q": sys.exit elif choice == "A" or choice == "a": n = 1 - options(images, names, 'Qual das imagens deseja sobrescrever?') images[n], names[n] = lab1.loadImage() elif images[0] is None and images[1] is None: print('Nenhuma imagem no sistema') print('<Pressione ENTER para continuar>') input() elif choice == "B" or choice == "b": if images[1] is None: lab1.viewImage(images[0], names[0]) elif images[0] is None: lab1.viewImage(images[1], names[1]) else: lab1.viewImages(images, names) elif choice == "C" or choice == "c": n = options(images, names, 'Qual das imagens deseja salvar?') lab1.saveImage(images[n]) elif choice == "D" or choice == "d": lab1.viewHistograms(images[0]) lab1.viewHistograms(images[1]) elif choice == "E" or choice == "e": option = 'A' if images[0] is None or images[1] is None: print( 'Sao necessarias duas imagens no sistema para calcular a diferenca' ) option = input('Deseja carregar outra imagem ? A:sim B:nao :') if (option == 'A' or option == 'a') and images[0] is None: images[0], names[0] = lab1.loadImage() elif (option == 'A' or option == 'a') and images[1] is None: images[1], names[1] = lab1.loadImage() if (option == 'A' or option == 'a' ) and images[0] is not None and images[1] is not None: lab1.calImgDif(images[0], images[1]) elif choice == "F" or choice == "f": n = options(images, names, 'Qual das imagens deseja alterar a intensidade?') value = 0 print( '(Utilize valor negativo para diminuir e positivo para aumentar)' ) value = input( 'A intensidade será alterada em quanto? [-255,255] :') value = int(value) if value >= -255 and value <= 255: images[n] = lab1.itensidade(images[n], abs(value), (value > 0)) elif choice == "G" or choice == "g": n = options(images, names, 'Qual das imagens deseja alterar o brilho?') print( '(Utilize valor negativo para diminuir e positivo para aumentar)' ) value = input('O brilho será alterado em quanto? [-255,255] :') value = int(value) if value >= -255 and value <= 255: images[n] = lab1.brightness(images[n], abs(value), (value > 0)) elif choice == "H" or choice == "h": n = options(images, names, 'Qual das imagens deseja alterar a amostragem?') print( ' O valor de amostragem, aqui, representa, aproximadamente, quantos pixels serão unidos em x e y.' ) print( ' Este valor é aproximado porque as dimensoes da imagem podem não ser multiplas do valor da amostragem' ) value = input( 'A amostragem será alterado em quanto? (0 < amostragem) :') value = int(value) if value > 0: images[n] = lab1.subamostragem(images[n], value) elif choice == 'I' or choice == 'i': n = options(images, names, 'Qual das imagens deseja alterar o limiar?') value = input('Limiar? (0 < limiar < 255) :') value = int(value) if value > 0 and value < 255: images[n] = lab1.binarizar(images[n], value) elif choice == "J" or choice == "j": n = options(images, names, 'Qual das imagens será negativa?') images[n] = lab2.negative(images[n]) elif choice == "K" or choice == "k": n = options(images, names, 'Qual das imagens será equalizada?') if len(images[n].shape) < 3: images[n] = lab2.equalizeHist_gray(images[n]) else: images[n] = lab2.equalizeHist(images[n]) elif choice == "L" or choice == "l": n = options(images, names, 'Qual das imagens será transformada (gray)?') mudar = input( "Deseja mudar os intervalos e valores da transformada (s/n)? ") if mudar == 's' or mudar == 'S': a, b, alfa, beta, charlie = input( "Qual é o valor do limiar (faixa de valores) 'a' e 'b', e quais os novos valores serão atribuídos aos intervalos 1, 2 e 3? [escrever em uma linha, separado por vírgula] " ) images[n] = lab2.trans_intensidade_gray(images[n]) elif choice == "M" or choice == "m": n = options(images, names, 'Qual das imagens será transformada?') images[n] = lab2.trans_potencia(images[n]) elif choice == "N" or choice == "n": n = options(images, names, 'Qual das imagens será aplicado o filtro de mediana?') images[n] = lab3.calcMaskMedianaUnico(images[n]) elif choice == "O" or choice == "o": n = options( images, names, 'Qual das imagens serão aplicados vários filtros de mediana para serem exibidos??' ) lab3.exibirMultiplasMaskMediana(images[n]) elif choice == "P" or choice == "p": n = options(images, names, 'Qual das imagens será aplicado o filtro de Média?') images[n] = lab3.calcMaskMedia(images[n]) elif choice == "R" or choice == "r": n = options(images, names, 'Qual das imagens será aplicado o filtro Gaussiano?') images[n] = lab3.filterGaussian(images[n]) elif choice == "S" or choice == "s": n = options(images, names, 'Qual das imagens será aplicado o filtro Sobel?') images[n] = lab3.sobel(images[n]) elif choice == "T" or choice == "t": n = options(images, names, 'Qual das imagens será aplicado o filtro Laplaciano?') images[n] = lab3.laplaciano(images[n]) else: print("You must only select A to T.") print("Please try again")