1 Star 0 Fork 0

杨雪锋/opencv-python-5

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
c6-5-gui.py 1.89 KB
一键复制 编辑 原始数据 按行查看 历史
杨雪锋 提交于 2023-04-14 21:49 +08:00 . update ch6
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import cv2
import PySimpleGUI as sg
# 界面风格
sg.theme('GreenTan')
# 参数输入控件,包括打开图像按钮、阈值调节滚动条、Sobel算子选择列表框
controlLayout = [[sg.Text('打开图片', size=(10, 1)), sg.InputText(size=(40, 1),key='-FILENAME-',change_submits=True),
sg.FileBrowse(button_text="浏览")],
[sg.Text('ksize', size=(10, 1)),sg.Combo(values=['3','5','7','9','11'],
key='-KSIZE-',default_value=3,size=(10,1),change_submits=True)]]
# 图像显示控件
image_src_column = [[sg.Frame("原图",[[sg.Image(key='-IMGSRC-',size=(400,400))]],element_justification='center')]]
image_dst_column = [[sg.Frame("结果",[[sg.Image(key='-IMGDST-',size=(400,400))]],element_justification='center')]]
# 界面布局
layout = [[sg.Frame('参数调节', controlLayout, title_color='blue')],
[sg.Column(image_src_column),sg.VSeperator(),sg.Column(image_dst_column)]]
window = sg.Window('方框滤波演示', layout, font=("Helvetica", 15),element_justification="center" )
# 全局变量
imgSrc = None
#事件循环
while True:
# 读取界面操作
event, values = window.read()
# 检测是否需要退出
if event == sg.WIN_CLOSED:
break
# 控件输入
ksize = int(values['-KSIZE-'])
# 载入图片,并缩放
if values["-FILENAME-"]:
imgSrc = cv2.imread(values['-FILENAME-'])
imgSrc = cv2.resize(imgSrc, window["-IMGSRC-"].get_size())
imgbytes = cv2.imencode(".png", imgSrc)[1].tobytes()
window["-IMGSRC-"].update(data=imgbytes)
# 若已经载入图片,则进行Canny边缘检测
if imgSrc is not None:
imgDst = cv2.boxFilter(imgSrc,-1,(ksize,ksize),0)
imgbytes = cv2.imencode(".png", imgDst)[1].tobytes()
window["-IMGDST-"].update(data=imgbytes)
window.close()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/hopeasy/opencv-python-5.git
git@gitee.com:hopeasy/opencv-python-5.git
hopeasy
opencv-python-5
opencv-python-5
master

搜索帮助