|
发表于 2019-6-18 17:48:36
|
显示全部楼层
线程的锅,我忘了事件是什么了,给个左键的
- import cv2
- from tkinter import *
- from tkinter import filedialog
- from PIL import Image, ImageTk
- import threading
- #window define
- window = Tk()
- window.title('xxx')
- window.attributes("-topmost", True)
- sw = window.winfo_screenwidth()
- sh = window.winfo_screenheight()
- print(sw,sh)
- wx = 640
- wh = 640
- window.geometry("%dx%d+%d+%d" % (wx*2, wh, 100, 100) )
- canvas = Canvas(window, bg='#c4c2c2', height = 480,width = 640*2)
- canvas.place(x=0,y=160)
- def dd(event):
- capture = cv2.VideoCapture(0)
- while True:
- ret, frame = capture.read()
- #image shefter
- #frame = cv2.flip(frame, 1)
- #image formate change
- cv2image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA)
- img = Image.fromarray(cv2image)
- image_file=ImageTk.PhotoImage(img)
- #draw shefter image
- canvas.create_image(0,0,anchor='nw',image=image_file)
- canvas.create_text(10,10,text='Shefter image',anchor=NW,fill='red',font='14')
- canvas.create_text(20,470,text='Scale:20*5 pixel',anchor=SW,fill='red',font='14')
- #draw orginal image
- canvas.create_image(640,0,anchor='nw',image=image_file)
- canvas.create_text(650,10,text='Orginal image',anchor=NW,fill='green',font='14')
- canvas.update()
- if( cv2.waitKey(40) >= 0):
- break
- canvas.bind('<Button-1>',dd)
- mainloop()
复制代码 |
|