目录
前言
课题背景和意义
实现技术思路
一、基于OpenCV数据库的程序环境构建
二、 基于OpenCV的图像技术处理
实现效果图样例
最后
前言
📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
🚀对毕设有任何疑问都可以问学长哦!
选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,这里是海浪学长毕设专题,本次分享的课题是
🎯基于机器视觉的数字图像处理技术研究-OpenCV
课题背景和意义
近年来,机器视觉图像处理技术得到了大力发展,如何提高数字图像处理的效率和性能是人们广泛关注的热点话题。数字图像处理技术是计算机视觉、机器视觉等现代技术实现的技术前提。为了满足更多用户在图像处理方面的高质量需求,现代图像处理往往需要加强像素级别的合理操作,从而有利于开展各种基于图像采集的数字化分析与理解。OpenCV作为数字图像处理技术中的开源算法数据库,基于计算机VC++ 语言所构建的编译环境运行,是不少数字图像处理以及计算机视觉用户的得力辅助工具。现阶段,以OpenCV图像处理算法完成的图像处理与仿真分析,已经在实际工程中广泛应用。 图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。 基本内容图像处理一般指数字图像处理。图像处理一般指数字图像处理。虽然某些处理也可以用光学方法或模拟技术实现,但它们远不及数字图像处理那样灵活和方便,因而数字图像处理成为图像处理的主要方面。
实现技术思路
一、基于OpenCV数据库的程序环境构建
安装 OpenCV
OpenCV
图像处理算法数据库的安装过程要关注对
环境变量的设置,选中“
Add
\
OpenCV
\
bin to the system PATH”选项后,可完成对环境变量
PATH
的载入。假定已安装好的OpenCV
路径为
C
:\
Program Files
\
OpenCV
。 进入VC++
环境,依次在菜单中点选
Tools
—
Options
— Directories,确认
lib
路径为
Library files
,要包含所有OpenCV库文件路径。
程序框架的规范构建
按以下步骤完成对
OpenCV
应用程序的创建:(1)新建工程,依次点选文件—
新建
—
工程,下一步可选
win32Application或
win32 console appiication
。(2)新建独立工作空间workspace
,或直接加载新项目到当前已建
Workspace
。(3)依次点选next
—
An empty project
/
ok
。(4)新建工程文件,依次点选文件—
new
—
files
,并选
C++ Source file/ok
。(5)配置工程,依次点选工程
—
设置
—
所有配置,点“连接”后,点击“对象、模块库”添加“cxcore
.
1ib cv. 1ibm1. 1ib cvaux. lib highgui. 1ib cvcam. 1ib”模块库。按上述
5
步操作就可完成OpenCV
算法数据库的编程环境创建。
利用OpenCV完成图像采集
利用
OpenCV
算法数据库对视频头拍摄的图像进行采集,可使用相关抓取程序来予以实现。将程序语句输入到新建C++Source file
中,重新连接摄像头,就能直接得到视频图像
。本次实验所采集到的视频数字图像如图
所示。
二、 基于OpenCV的图像技术处理
OpenCV
图像技术处理主要是利用计算机软件完成截图的图像变换、几何变换、滤波、边缘检测、
直方图以及数学形态学处理等内容,通过各种技术能够直接对图像进行分析与理解,采集后完成底层处理,并形成较高质量的图像以便后期的机器视觉应用。
从已获图像中截图
人们往往会对静态图像中的一部分内容感兴趣,可以利用软件对感兴趣的区域进行必要的截图。将部分要截取的图像称为感兴趣区域(Region of Interest
,
ROI
),截图过程主要用到的变量或函数如下:
CvRect ROI_rect_src
;
//
截取图像
ROI
位置与大小
CvRect ROI_rect_dst
;
//
目标图像
ROI
cvSetImageROI(src_img,ROI_rect_src)
;
//
明确矩形框架后,设定待截图像目标区域函数
cvShowImage(
”
src_img
”
,src_img)
;
//
加载完成指定图像ROI
函数
图像处理中的边缘检测技术
通常,各种图像包含的各类目标的边缘灰度值常涵盖有关该图像的海量原始信息。边缘检测常常使用各种已经成熟的算子来完成,常见的有高斯差分边缘检测算子DoG
,
Sobel边缘检测算子、Canny
边缘检测算子、二阶微分
Laplacian
边缘检测算子和高斯-
拉普拉斯算子
LOG
等,基本原理都是通过对灰度突变类型的二阶导数进行分割来展开实例计算,各种算子的应用有所侧重
Sobel 边缘检测算子
Sobel边缘检测算子是典型的基于一阶导数的边缘检测
算子,主要思想是考察目标图像上出现的不同的像素,特别
是对不同像素的四周各邻点灰度加权差进行计算,求得邻点
与就近像素点的邻近权值。
若存在某一像素点
[
i
,
j
]
,按
Sobel
算法思想,其偏导数可用下列公式计算:
围绕某像素点的Sobel算法:
Sobel
算子可表示为:
Canny 边缘检测算子
Canny
边缘检测算法同样是基于卷积运算的算法应用, 主要是结合目标图像同时考虑平滑滤波脉冲响应完成一阶微分运算。计算结果能够表现经平滑处理后的图像,表达式为:
图像梯度的计算可按以下式子展开:
则有卷积运算为:
如图
所示,a图是经过
Sobel边缘检测算子处理后的效果,b图是经过Canny边缘检测算子处理后的效果,c图经过Sobel
边缘检测算子处理后的效果。经过以上算法的运算,可以得到图像处理中边缘检测。
图像处理中的角点提取技术
对于目标图像而言,其中的角点能够成为描述事物运动状态的重要凭证,还能够积极辅助完成图像中视觉特征点的提取与描述。通常,数字图像的角点由图像不同目标、不同空间等边缘交点或边缘曲率较大的点组成,所以整体上具有相当高的曲率。通过分析角点信息,能够从中挖掘到图像目标
的具体几何形状。
当前,图像角点提取的方法较多,常用的两种思路为:
(1)先描述图像边界,完成提取,再计算角点。(2)直接测出灰度图像的角点。
实现效果图样例
利用python进行数字图像处理-图像噪声与去噪:
我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。
毕设帮助,疑难解答,欢迎打扰!
最后