elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: 4n4lDetector v1.3: herramienta de análisis estático de malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderador: Eleкtro)
| | |-+  Problema con cargar una imagen- Python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con cargar una imagen- Python  (Leído 385 veces)
LuisAngel

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Problema con cargar una imagen- Python
« en: 7 Septiembre 2017, 17:32 »

Hola, mi problema es luego de cargar la imagen y mostrarla en la interfaz ocurre que quiero modificarlo a operador identidad pero no se como enviar la imagen desde el metodo abre() hacia el metodo identidad() luego mostrarlo ya cambiado necesito hacer el mismo procedimiento para los otros operadores puntuales.
este es el avance que pude hacer
Código
  1. from tkinter import *
  2. from PIL import ImageTk, Image
  3. from tkinter import filedialog
  4. import  tkinter as tk
  5.  
  6. ancho = 200
  7. alto = 0
  8. ventana=Tk()
  9. ventana.geometry("700x600+100+100")
  10. ventana.title("Ejercicio 2")
  11. def abre():
  12.    pic=filedialog.askopenfilename()
  13.    img=Image.open(pic)
  14.    o_size=img.size
  15.    f_size=(200,200)
  16.    factor = min(float(f_size[1])/o_size[1], float(f_size[0])/o_size[0])
  17.    width = int(o_size[0] * factor)
  18.    height = int(o_size[1] * factor)
  19.    rImg= img.resize((width, height), Image.ANTIALIAS)
  20.    rImg = ImageTk.PhotoImage(rImg)
  21.    lblImage=Label(ventana,image=rImg).place(x=150,y=150)
  22.    ventana.mainloop()
  23.    return rImg
  24.  
  25. def identidad(img):
  26.    img=abre()
  27.    salida = Image.new("L",(ancho,alto))
  28.    for i in range(img.size[0]):
  29.        for j in range(img.size[1]):
  30.            p = img.getpixel((i,j))
  31.            q = p
  32.            salida.putpixel((i,j),q)
  33.    return salida
  34.  
  35.    imgGray = Image.open(filedialog.askopenfilename()).convert("L")
  36.    ancho,alto = imgGray.size
  37.    resultado = identidad(imgGray)
  38.    resultado.show()
  39.  
  40. ##label
  41. lbldes=Label(text="Crear en python un menu para seleccionar el tipo de operador puntual a mostrar.",font=("Agency FB",16)).place(x=10,y=45)
  42. lblimang=Label(text="Pulse para cargar imagen",font=("Agency FB",14)).place(x=25,y=80)
  43. #botones##
  44. btnImag=Button(ventana,text="cargar Imagen",command=abre,font=("Agency FB",14),width=15).place(x=200,y=80)
  45. btnImag=Button(ventana,text="Operador Identidad",command=identidad,font=("Agency FB",14),width=15).place(x=30,y=370)
  46.  
  47.  
  48.  


En línea

tincopasan


Desconectado Desconectado

Mensajes: 966


No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Problema con cargar una imagen- Python
« Respuesta #1 en: 10 Septiembre 2017, 14:57 »

la verdad que no entiendo la lógica de tu script y menos aún lo que estás planteando, así y todo le hice unas pequeñas modificaciones para que sea medianamente funcional y veas donde puede estar el problema.
Código
  1. from tkinter import *
  2. from PIL import ImageTk, Image
  3. from tkinter import filedialog
  4. import  tkinter as tk
  5.  
  6. ancho = 200
  7. alto = 200
  8. ventana=Tk()
  9. ventana.geometry("700x600+100+100")
  10. ventana.title("Ejercicio 2")
  11. def abre():
  12.    global img
  13.    pic=filedialog.askopenfilename()
  14.    img=Image.open(pic)
  15.    o_size=img.size
  16.    f_size=(200,200)
  17.    factor = min(float(f_size[1])/o_size[1], float(f_size[0])/o_size[0])
  18.    width = int(o_size[0] * factor)
  19.    height = int(o_size[1] * factor)
  20.    rImg= img.resize((width, height), Image.ANTIALIAS)
  21.    rImg = ImageTk.PhotoImage(rImg)
  22.    lblImage=Label(ventana,image=rImg).place(x=150,y=150)
  23.    ventana.mainloop()
  24.  
  25.  
  26.  
  27. def identidad():
  28.    imga=img
  29.    imga =imga.resize((150,150),Image.ANTIALIAS)
  30.    salida = Image.new("RGB",(ancho,alto))
  31.    for i in range(imga.size[0]):
  32.        for j in range(imga.size[1]):
  33.            p = imga.getpixel((i,j))
  34.            q = p
  35.            salida.putpixel((i,j),q)
  36.    salida.show()        
  37.    return salida
  38.  
  39. '''
  40. imgGray = Image.open(filedialog.askopenfilename()).convert("L")
  41. ancho,alto = imgGray.size
  42. resultado = identidad(imgGray)
  43. resultado.show()
  44. '''
  45. ##label
  46. lbldes=Label(text="Crear en python un menu para seleccionar el tipo de operador puntual a mostrar.",font=("Agency FB",16)).place(x=10,y=45)
  47. lblimang=Label(text="Pulse para cargar imagen",font=("Agency FB",14)).place(x=25,y=80)
  48.    #botones##
  49. btnImag=Button(ventana,text="cargar Imagen",command=abre,font=("Agency FB",14),width=15).place(x=200,y=80)
  50. btnImag=Button(ventana,text="Operador Identidad",command=identidad,font=("Agency FB",14),width=15).place(x=30,y=370)
  51. ventana.mainloop()
  52.  


En línea

LuisAngel

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Problema con cargar una imagen- Python
« Respuesta #2 en: 11 Septiembre 2017, 07:13 »

muchas gracias tincopasan, nadie me respondía en otros foros y si tienes razón no me explicado muy bien mi problema pero supiste entenderme.
lo pude terminar aun tengo que aprender, soy principiante en python.
mi fin era un botón que obtenga una imagen y esa imagen convertirla en los operadores puntuales.
gracuas  ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cargar imagen en C
Programación C/C++
qwertyagnesi 1 998 Último mensaje 16 Agosto 2006, 05:17
por JuanK_Solocodigo
CARGAR IMAGEN
Programación Visual Basic
CARRY-ON 2 792 Último mensaje 11 Septiembre 2008, 05:52
por CARRY-ON
Problema cSubclassToolBar cargar imagen.
Programación Visual Basic
Fr4NN^ 5 1,267 Último mensaje 13 Abril 2009, 19:53
por LeandroA
Cargar imagen en vbs
Scripting
Hekaly 1 1,819 Último mensaje 9 Noviembre 2009, 13:52
por Novlucker
Cargar una imagen
.NET
bybaal 4 851 Último mensaje 10 Mayo 2016, 03:02
por Leiray
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines