with gui displaying camara booth python python-2.7 opencv tkinter

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