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的分享

相关链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: