
OpenCV 实战项目
文章平均质量分 96
OpenCV 实战项目
youcans_
电子出版社《数字图像处理—基于OpenCV/Python》作者
展开
-
OpenCV-PyQT项目实战(1)安装与环境配置
本系列从零开始,实战解说基于 PyQt5 的 OpenCV 项目开发,提供详细原始例程和素材。欢迎关注『OpenCV-PyQT项目实战 @ Youcans』系列,持续更新中。原创 2023-01-28 06:00:00 · 5104 阅读 · 9 评论 -
OpenCV-PyQT项目实战(2)QtDesigner 和 PyUIC 快速入门
本节介绍 QtDesigner 和 PyUIC 的快速入门,使用 QtDesigner 是开发 PyQt5 图形界面的基本方法。本节还介绍采用面向对象的程序设计方法,来编写图形界面的主程序。原创 2023-01-29 21:19:20 · 2822 阅读 · 2 评论 -
OpenCV-PyQT项目实战(3)信号与槽机制
本节介绍 PyQt 的信号与槽。信号与槽机制是 PyQt 的核心机制,用于对象之间的通信,也就是实现函数之间的自动调用。原创 2023-02-02 10:02:35 · 2381 阅读 · 4 评论 -
OpenCV-PyQT项目实战(4)OpenCV 与PyQt的图像转换
在OpenCV-PyQt的项目中,通常使用OpenCV读写和处理图像,使用PyQt进行显示和交互。但是,OpenCV与PyQt中的图像存储格式不同,需要进行转换。这里有不少坑,小心行驶。原创 2023-02-05 08:00:00 · 4029 阅读 · 7 评论 -
OpenCV-PyQT项目实战(5)项目案例01:图像模糊
本节介绍一个 OpenCV-PyQt 项目案例。- 使用OpenCV实现图像的读取,保存,灰度变换、模糊变换等图像处理操作- 使用PyQt5创建GUI窗口,实现图像显示,实现用户交互- 涉及OpenCV彩色图像、灰度图像与PyQt图像的转换原创 2023-02-09 08:30:00 · 2333 阅读 · 1 评论 -
OpenCV-PyQT项目实战(6)项目案例02:滚动条应用
本节介绍两个 OpenCV-PyQt 项目案例,通过案例学习滚动条等调节输入控件。案例1 使用滑动槽(QSlider)调节模糊尺度。案例2 模拟 PhotoShop 与 AcdSee 中的图像亮度和对比度方法,通过手动调节阴影、中间调和高光参数设置,调节图像的亮度和对比度。原创 2023-02-13 06:30:00 · 2528 阅读 · 3 评论 -
OpenCV-PyQT项目实战(7)项目案例03:鼠标框选
本节介绍OpenCV和PyQt 实现鼠标框选的方法和案例,通过案例学习PyQt中的鼠标动作。本项目基于 PyQt5 GUI,使用鼠标框选 ROI 区域,在窗口中显示 ROI 区域,并对 ROI 进行处理。PyQt 中实现鼠标框选,本质上是鼠标动作的响应。基本的 QLabel 类并不支持鼠标动作,因此需要自定义一个支持鼠标动作的 Label 类。原创 2023-02-16 07:00:00 · 3650 阅读 · 4 评论 -
OpenCV-PyQT项目实战(8)项目案例03:鼠标定位
本节介绍OpenCV和PyQt 实现鼠标定位的方法和案例。通过 PyQt 创建交互界面,使用鼠标事件在图像窗口点击定位,并将鼠标定位坐标返回到 OpenCV 进行图像处理。PyQt 中实现鼠标点击定位,本质上是鼠标动作的响应。基本的 QLabel 类并不支持鼠标动作,因此需要自定义一个支持鼠标动作的 Label 类。原创 2023-02-20 07:00:00 · 2310 阅读 · 0 评论 -
OpenCV-PyQT项目实战(9)项目案例04:视频播放
本节介绍OpenCV和PyQt 实现视频播放,提供完整例程。PyQt 不支持视频解码,使用 OpenCV对视频文件进行解码获得图像帧,然后用 QTime 定时器和 QThread 的方式来控制 QLabel 中的图像更新。原创 2023-02-24 09:56:10 · 4317 阅读 · 10 评论 -
OpenCV-PyQT项目实战(10)项目案例06:键盘事件与视频抓拍
本节继续介绍使用键盘事件从播放的视频中抓拍图像。本例使用 OpenCV视频解码,用PyQt播放视频,用键盘事件抓拍视频中的图像。本文提供完整例程:PyQt 中的事件处理例程,按键事件与捕获按键值例程,视频播放与图像捕获例程。原创 2023-02-28 07:00:00 · 1367 阅读 · 2 评论 -
OpenCV-PyQT项目实战(11)项目案例07:摄像头操作与拍摄视频
本项目基于 PyQt5 GUI 实现摄像头操作与拍摄实时视频。使用 OpenCV处理摄像头设备进行解码获得图像帧,然后用 QTime 定时器控制 QLabel 中的图像更新,使用按钮控制摄像画面的移动。原创 2023-03-05 10:05:40 · 4027 阅读 · 6 评论 -
OpenCV-PyQT项目实战(12)项目案例08:多线程视频播放
本文详细讲解Pyqt多线程视频播放器的方法和完整例程。使用 QTime 定时器和 QThread 的方式来控制 QLabel 中的图像更新,容易产生卡顿或阻塞,因此需要使用多线程解决这个问题。本文详解线程处理及在 PyQt5的实现,给出完整例程。原创 2023-03-08 09:25:33 · 2482 阅读 · 11 评论 -
【课题总结】OpenCV 抠图项目实战(1)目录摘要
本系列是 Python 小白的课题作业《基于OpenCV 的图像分割和抠图》。需要说明的是,本系列并不能算是 OpenCV 的抠图项目教程,只是以此为主题的课题报告。其中包括了一个较为完整的 PyQt 项目介绍和例程。从学生课题作业报告的角度,还是可以晒出来给大家参考的。原创 2022-01-03 10:02:19 · 3786 阅读 · 10 评论 -
【课题总结】OpenCV 抠图项目实战(2)抠图绪论
抠图(Image Matting)是计算图像前景透明度(α值),将图像分离为前景和背景的过程。抠图是图像处理的基本操作,算法精度直接影响合成图像的质量,是图像合成与编辑的关键环节。原创 2022-01-03 14:02:43 · 4073 阅读 · 3 评论 -
【课题总结】OpenCV 抠图项目实战(3)抠图综述
第二章 数字图像抠图技术综述文献 [2],[3],[6]~[9] 综述了图像抠图技术的研究进展。蓝屏抠图的技术已经非常成熟,近年来抠图问题的研究主要集中于自然图像抠图。在自然图像抠图中,适当的人工交互是必要的。大多数抠图算法通过用户标记的三元图(Trimap)实现对对解空间的约束。三元图通过指定一部分已知的前景区域与已知的背景区域对图像进行标记,由用户涂鸦交互生成,或者由二值图像分割结果自动生成。原创 2022-01-04 09:23:55 · 4994 阅读 · 1 评论 -
【课题总结】OpenCV 抠图项目实战(4)固定阈值抠图
第三章 阈值抠图阈值处理方法直观简单,是一种基本的图像分割方法。根据图像的整体或部分信息适当选择阈值,像素值高于阈值时设为1/255,低于阈值时设为0,以此将图像中感兴趣的区域筛选出来生成掩模,再与原图像合成即可得到抠图图像。由于待处理图像的灰度级数与其灰度直方图是不确定的,对于不同的图像、不同的目标前景,需要选取适当的阈值处理方法进行图像分割。本章采用固定阈值、自适应阈值与色彩范围三种方法进行图像抠图处理。原创 2022-01-05 08:00:00 · 5148 阅读 · 0 评论 -
【课题总结】OpenCV 抠图项目实战(5)自适应阈值抠图
3.2 自适应阈值抠图在图像抠图的应用中,噪声和非均匀光照等因素会影响阈值算法的性能。对于很多图像,使用固定阈值难以获得理解的抠图效果,就需要使用自适应阈值处理方法,使用可变阈值处理。自适应阈值处理可以根据图像不同区域的亮度分布,使用高斯滤波、移动平均等方法计算其局部阈值,以此得到抠图图像。OpenCV 提供了函数 cv.adaptivethreshold()实现图像的阈值处理。原创 2022-01-06 08:00:00 · 3658 阅读 · 0 评论 -
【课题总结】OpenCV 抠图项目实战(6)色彩范围抠图
通常,即使对于确定颜色背景的蓝屏抠图,背景图像的所有像素的颜色也并非完全相同,而是处于相近的色彩范围内。因此,对背景色彩范围进行阈值处理,比阈值处理更为合理。RGB 通道不能很好地反映出物体具体的颜色信息,而 HSV 空间可以非常直观的表达色彩的明暗、色调及鲜艳程度。因此,通常使用 HSV 色彩空间进行某种颜色的识别和不同颜色的对比。原创 2022-01-07 08:00:00 · 4038 阅读 · 0 评论 -
【课题总结】OpenCV 抠图项目实战(7)边缘检测
边缘是是图像局部特征不连续性的反映,体现了灰度、颜色、纹理等图像特性的突变。边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像梯度提取方法简单直接,能够有效的描述图像的原始状态,因此发展出多种图像梯度算子,常用的有Laplacian、Soble和Canny算子。本文给出了完整例程。原创 2022-01-08 08:00:00 · 5941 阅读 · 0 评论 -
【课题总结】OpenCV 抠图项目实战(8)图像轮廓
轮廓特征是图像中的重要特征。在进行视觉检测的时候,常常利用轮廓特征来达到我们要检测的目的。轮廓即是以某种方式表示图像中的曲线的点的列表。寻找轮廓的操作一般用于二值化图,所以通常会使用阈值分割或 Canny 边缘检测先得到二值图。OpenCV 中提供了函数cv.findContours()寻找轮廓,函数cv.drawContours() 绘制轮廓。在 OpenCV 中查找轮廓就像在黑色背景中找白色物体。原创 2022-01-09 09:30:00 · 5677 阅读 · 0 评论 -
【课题报告】OpenCV 抠图项目实战(9)评价指标
为了追求图像质量评价的效率,客观评价方法越来越受到研究者的欢迎。常用的客观评价指标是:SAD, MSE, Gradient error, Connectivity error原创 2022-01-10 08:30:00 · 2015 阅读 · 4 评论 -
【课题报告】OpenCV 抠图项目实战(10)PyQt5 使用
第六章 基于 PyQt5 的抠图算法实验平台Qt 库是跨平台的 C++ 库的集合,是最强大的 GUI 库之一,可以实现高级 API 来访问桌面和移动系统的各种服务。PyQt5 是一套 Python 绑定 Digia QT5 应用的框架。PyQt5 实现了一个 Python模块集,有 620 个类,6000 个函数和方法。PyQt5 的优点是简单好用,功能强大, 跨平台支持,文档齐全,稳定性高,生态支持,开源免费,非常适合图形界面软件的设计与开发。原创 2022-01-11 08:00:00 · 3539 阅读 · 6 评论 -
【课题总结】OpenCV 抠图项目实战(11)算法实验平台
6.2 抠图算法实验平台的设计与实现基于 PyQt5 开发一个抠图算法实验平台软件,该平台也是数字图像处理仿真平台软件的组成部分。抠图算法实验平台的设计方案:抠图算法实验平台由主界面和若干个子界面构成,采取自顶向下的设计方法,包括以下功能模块:- 文件处理模块:导入、导出数据文件和图像;- 算法选择模块:选择不同的抠图算法;- 算法实现模块:实现不同的抠图算法;- 系统模块:系统设置,帮助和退出。每个子界面相互独立,分别实现一种抠图算法。原创 2022-01-12 08:30:00 · 2232 阅读 · 5 评论 -
【课题总结】OpenCV 抠图项目实战(12)源程序代码
抠图算法实验平台的主程序设计Python 应用程序的基本结构为:(1)程序说明(2)导入工具包和UI界面(3)MainWindow 类的初始化(4)自定义槽函数(5)main函数Python 应用程序框架的核心代码如下原创 2022-01-13 08:30:00 · 3393 阅读 · 3 评论