tkinter是python中界面设计常用的库,但是对图片显示的仅支持GIF 和 PGM/PPM 文件格式。和OpenCV没有直接的转换函数,这里另外引进了python常用的图像库PIL来间接的进行转换。
实现了在在tkinter的canvas上显示OpenCV图像。效果如图:
实现代码如下:
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 13 14:37:33 2020
@author: xin
"""
from tkinter import *
import cv2 as cv
from a import Image,ImageTk
def Showimage(imgCV_in,canva,layout="null"):
"""
Showimage()是一个用于在tkinter的canvas控件中显示OpenCV图像的函数。
使用前需要先导入库
import cv2 as cv
from PIL import Image,ImageTktkinter
并注意由于响应函数的需要,本函数定义了一个全局变量 imgTK,请不要在其他地方使用这个变量名!
参数:
imgCV_in:待显示的OpenCV图像变量
canva:用于显示的tkinter canvas画布变量
layout:显示的格式。可选项为:
"fill":图像自动适应画布大小,并完全填充,可能会造成画面拉伸