在tkinter的canvas上显示OpenCV图像

本文介绍如何将OpenCV处理后的图像在Python的tkinter GUI中进行显示,通过结合两种库实现图像的交互式展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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":图像自动适应画布大小,并完全填充,可能会造成画面拉伸
        "fit":根据画布大小,在不拉伸图像的情况下最大程度显示图像,可能会造成边缘空白
        给定其他参数或者不给参数将按原图像大小显
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值