1.前言
使用pyqt5与opencv实现的图像处理程序,已实现转灰度图、图像平滑、形态学操作、梯度计算、阈值处理、边缘检测、轮廓检测等功能。
☘️Pyqt5介绍:Pyqt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成。Pyqt5本身拥有超过620个类和6000函数及方法。在可以运行于多个平台,包括:Unix, Windows, and Mac OS。🌈
☘️OpenCV介绍:OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。🌈
提示:对OpenCV感兴趣的小伙伴们,可以看一下我写的对OpenCV基础知识进行介绍的文章。🚀
1.【OpenCV实战教程1】OpenCV概述
2.【OpenCV实战教程2】图像处理的基本操作
3.【OpenCV实战教程3】图像数字化基础(像素、色彩空间)
2.软件界面
☘️功能代码
使用pyqt5与opencv实现的图像处理软件的main.py文件部分代码如下所示:
class MyApp(QMainWindow):
def __init__(self):
super(MyApp, self).__init__()
self.tool_bar = self.addToolBar('工具栏')
self.action_right_rotate = QAction(QIcon("icons/右旋转.png"), "向右旋转90", self)
self.action_left_rotate = QAction(QIcon("icons/左旋转.png"), "向左旋转90°", self)
self.action_histogram = QAction(QIcon("icons/直方图.png"), "直方图", self)
self.action_right_rotate.triggered.connect(self.right_rotate)
self.action_left_rotate.triggered.connect(self.left_rotate)
self.action_histogram.triggered.connect(self.histogram)
self.tool_bar.addActions((self.action_left_rotate, self.action_right_rotate, self.action_histogram))
self.useListWidget = UsedListWidget(self)
self.funcListWidget = FuncListWidget(self)
self.stackedWidget = StackedWidget(self)
self.fileSystemTreeView = FileSystemTreeView(self)
self.graphicsView = GraphicsView(self)
self.dock_file = QDockWidget(self)
self.dock_file.setWidget(self.fileSystemTreeView)
self.dock_file.setTitleBarWidget(QLabel('目录'))
self.dock_file.setFeatures(QDockWidget.NoDockWidgetFeatures)
self.dock_func = QDockWidget(self)
self.dock_func.setWidget(self.funcListWidget)
self.dock_func.setTitleBarWidget(QLabel('图像操作'))
self.dock_func.setFeatures(QDockWidget.NoDockWidgetFeatures)
☘️软件界面
使用pyqt5与opencv实现的图像处理软件界面如下所示:
看完软件界面,接下来就详细介绍该OpenCV图像处理软件的功能。🚀
3.软件功能
通过该OpenCV图像处理软件可以实现的功能如下:
- 图像旋转
- 转灰度图
- 图像平滑
- 直方图均衡化
- 形态学操作
- 梯度计算
- 阈值处理
- 边缘检测
- 轮廓检测
- 哈夫变换直线检测
- 亮度调节
- 伽马校正
4.操作步骤
(1)选择图片🌈
左侧是目录结构,小伙伴们可将要处理的图片放置在目录结构下,要进行处理的时候选择即可。
(2)进行操作🌈
选择完图片后,可以点击左上角的图像操作栏中的按钮,以实现图像的灰度化距离,点击后,则图片变成下列这样,并且右侧栏中会展示已选操作。
(3)其他功能🌈
可以对图像进行叠加操作,并且支持已选操作的删除,当处理完成后,可将鼠标移到图片上,单击右键进行“另存为”操作。比如对图像进行灰度化和边缘检测,呈现的效果如下所示:
5.源代码
源代码地址:链接:https://pan.baidu.com/s/1UmcvK3tfAP2CcoAmZORGoQ?pwd=e7qr
提取码:e7qr
--来自百度网盘超级会员V4的分享文章来源:https://www.toymoban.com/news/detail-720519.html
文章来源地址https://www.toymoban.com/news/detail-720519.html
到了这里,关于【图像处理软件】Pyqt5+OpenCV实现图像的处理(附可视化界面+功能介绍+源代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!