python - gui - Lea una imagen con OpenCV y muéstrela con Tkinter
tkinter photo booth (2)
Es posible que desee echar un vistazo a este . Aquí hay algo que funciona para mí:
import numpy as np
import cv2
import Tkinter
import Image, ImageTk
# Load an color image
img = cv2.imread(''img.png'')
#Rearrang the color channel
b,g,r = cv2.split(img)
img = cv2.merge((r,g,b))
# A root window for displaying objects
root = Tkinter.Tk()
# Convert the Image object into a TkPhoto object
im = Image.fromarray(img)
imgtk = ImageTk.PhotoImage(image=im)
# Put it in the display window
Tkinter.Label(root, image=imgtk).pack()
root.mainloop() # Start the GUI
Tengo un programa muy simple en Ubuntu 14.04 LTS para leer y mostrar una imagen usando OpenCV:
import cv2 #import OpenCV
img = cv2.imread(''picture.jpg'') #read a picture using OpenCV
cv2.imshow(''image'',img) # Display the picture
cv2.waitKey(0) # wait for closing
cv2.destroyAllWindows() # Ok, destroy the window
Mi problema:
¿Cómo puedo seguir leyendo la imagen en OpenCV pero mostrarla usando Tkinter?
Pregunto esto porque quiero hacer una interfaz para mi programa, pero OpenCV no puede hacerlo, así que necesito Tkinter para esto. Sin embargo, todo el procesamiento de imágenes lo debo hacer en el fondo usando OpenCV. Solo mostrar los resultados se debe hacer usando Tkinter.
EDITAR:
De la respuesta anterior, cambio la línea:
im = Image.open(''slice001.hrs'').convert2byte()
A:
im=cv2.imread() # (I imported cv2)
Pero tengo un error.
Agradecería cualquier pista.
Para Python3 tuve que modificar la respuesta de @Ha Dang:
from tkinter import *
from PIL import Image, ImageTk
import cv2
import numpy as np
image_name = ''bla.jpg''
image = cv2.imread(image_name)
#Rearrang the color channel
b,g,r = cv2.split(image)
img = cv2.merge((r,g,b))
# A root window for displaying objects
root = Tk()
# Convert the Image object into a TkPhoto object
im = Image.fromarray(img)
imgtk = ImageTk.PhotoImage(image=im)
# Put it in the display window
Label(root, image=imgtk).pack()
root.mainloop() # Start the GUI
Los requisitos fueron:
pip3
numpy==1.13.1
opencv-python==3.3.0.9
Pillow==4.2.1
elaborar cerveza
python3
tcl-tk