目录
前言
课题背景和意义
实现技术思路
一、图像预处理
三、电线颜色特征提取方法的研究
四、基于 BP神经网络的颜色识别算法实现
实现效果图样例
最
前言
📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
🚀对毕设有任何疑问都可以问学长哦!
选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,这里是海浪学长毕设专题,本次分享的课题是
🎯毕业设计-基于机器视觉的电线颜色识别系统软件- OpenCV
课题背景和意义
当今经济发展迅速
,
人们的生活水平也不断地提高
,
随着用电设备增多,
电线需求量也增大
,
因此电线制造业迅速发展起来。
在制造三相电源线时
,
需要检测电线的颜色
,
根据电线颜色判断火线、
零线
、
地线是否均具备
,
然后按规定封装成1
条电源线
,
人工判断电线颜色需要耗费很多时间,
生产效率低且容易出错
。目前,
研究颜色识别的方法理论有很多
,
不过每种方法都有其适用范围与局限性,
现总结主要问题如下
:
1
)
能否根据现有技术精确地检测出目标物体的轮廓;
2
)
相机的视角倾斜导致视角弯曲,
可能使图像不同位置的像素点对应实际的空间大小不同。
因此
,
有必要研究出一种可以快速识别电线颜色的方法,
能够更方便地识别出电线的颜色
,
有效节约时间,
为使用带来便利。通过背景差分法定位电线区域并截取出电线图像,对截取出来的电线图像进行特征提取,主要对颜色直方图和颜色矩这2个特征进行提取,将提取到的颜色直方图和颜色矩的特征数据结合,建 立 基 于 BP 神经网络的电线颜色识别模型,最后用 BP神经网络对电线颜色进行分类,输出电线颜色识别的实验。表明基于 OpenCV 的电线颜色识别方法具有一定可靠性,且 识 别 速 度 快、准 确率高。
实现技术思路
一、图像预处理
视觉系统中
,
一般情况下拍摄的原始图像由于某些随机干扰和条件限制,
不能直接使用
,
因此
,
需要对原始图像进行去噪、
滤波
、
二值化等预处理
,
然后再对图像进行视觉信息处理。
图像去噪
图像去噪
,
即在对图像进行处理中
,
减少数字图像中噪声的过程。
图像含噪的原因
,
可以追踪到图像在传输过程中受成像设备影响或者外部环境的噪声干扰影响。
去除图像噪声的方法包括均值滤波器、
中值滤波器等
。
1
)
均值滤 波
:
主要采用领域平均法的一种线性滤波。假设当前处理像素点的坐标为 (x,y),把 (x,y)和其附近
的部分像素点当做一个整体,
求这个整体中所有像素点的平均值,
并用这个平均值来代替
(
x
,
y
)。
2)中值滤波:计算出图像中当前处理点周围各点值的中值,用这个中值来代替当前处理点的值的方法。其数学表达式如下:

式中
,
F
(
x
,
y
)
为灰度 值
;
W
为周 围 区 域
;
Med
(
x
,
y
)
为周围点灰度值的中值。
对电线图像进行中值滤波的效果如图:
通过对比
滤波前后的图像
,
可以明显的看到经过中值滤波后的图像不仅能够更完整地保留原始细节信息,
而且达到了图像去噪的目的
。

二值化处理
图像二值化
,
即改变图像上像素点的灰度值
,
使图像上只出现黑白2
种颜色效果的方法
。
通过对所有样本图像进行测试,
发现背景差分后进行二值化不仅能够准确地分割出所有图像的电线区域的图像,
且不会对其他区域进行误分割。

二、电线图像分割算法研究
背景差分法
背景差分法即将含有目标物体的图像与参考的背景图像做减法,
从而得到只有目标物体的图像
。
设
N
(
i
,
j
)
为当前帧图像,
B
(
i
,
j
)
为背景图像
,
则差分图像
R
(
i
,
j
),
算法为
:

先在 RGB颜色空间对前景、背景图像分R、G、B3个通道分别进行背景差分,差分效果很不明显,实验效果如图所示。
为了减少光线等其他干扰因素,将前景、背景图像转化到 HSV 颜色空间,分别分为 H、S、V 3个通道进行背景差分,差分效果如下图所示。

边缘提取
提取图像中目标物体的轮廓的方法称为边缘提取
。边缘提取只留下目标物体的框架结构,减少图像中的数据
量,
从而使图像的处理工作变得简便
。
不过边缘处理有时也会出错误,
比如丢失一些边缘线段
,
然后出现一些非目标物体的边缘。
边缘提取 的 经 典 算 法 之 一 为
Canny
算 子 边 缘 检 测
, Canny算子边缘检测基于
1
个多阶边缘算子
,
对图像进行边缘提取前需将图像灰度化,
然后再进行高斯滤波
。
所选
的高斯函数为
:
式中:σ为高斯曲线标准差,控制着平滑程度。用边缘提取技术提取到的电线边缘图像如图所示。
基于阈值的分割法
基于阈值的分割法
的基本思想是在图像的灰度图上设置1
个特定的阈值
,
并使用该阈值与图像中的每一个像素值做比较,
比较公式如式
所示:
使 用 OpenCV 的二值化函数对电线图像进行处理,在不同阈值下得到了不同的效果。 采用阈值128,最大值为255,对电线图像进行二值化处理的效果如图:
通过改变阈值大小,观察二值化的效果,当阈值为150时,二值化处理效果如图:
当阈值为100时,二值化处理的效果如图所示。
由于研究对象即电线的色彩分布均匀,为了提高效率,选择分割出电线的部分感兴趣区域用于电线的颜色识别。通过以上测 试 选 择 了1个 适 当 的 阈 值(T=128)对感兴趣区域(regionofinterest,ROI)进行二值化处理,得到如图所示的结果:
三、电线颜色特征提取方法的研究
研究对象为彩色电线
,
通过对不同颜色空间下的电线进行研究,
提取出电线的颜色特征
。
颜色空间
颜色空间
又名彩色空间
,
在对物体进行颜色识别时
,选择合适的颜色空间很重要。
常 用 的 颜 色 空 间 模 型 有RGB、
YUV
、
HSV
、
CMY
和
HSI
等
,
其中最基本而且最常见的颜 色 空 间 为 RGB
颜色 空 间
。
该 文 主 要 使 用
RGB
和HSV2个颜色空间模型来研究电线的颜色识别。RGB分别代表光谱的三原色,即红、绿、蓝,RGB 颜色
空间不仅易于映入其他颜色空间中,
而且可以与它们相互转换,
易受光线影响
、
不直观性
、
且
3
个颜色分量相互关联是 RGB
颜色空间的缺点所在
。
HSV
颜色空间则是一种直观的颜色模型
,
其中参数
H表示色调,
S
表示饱和度
,
V
表示亮度
。
图
所示为
HSV颜色空间模型。
将 RGB电线图 像 转 化 为 HSV 颜色空间的效果如图所示。
颜色特征
颜色特征
是一种用来描述图像或图像区域中对应的物体的表面性质。
颜色特征的优点是
:
不管图像或者图像区域旋转或者平移,
它都不会受到影响
。
1)颜色直方图
颜色直方图
统计整张图像中不同颜色值出现的频数,
再与整张图像的颜色值总数做比值运算
,
得出每个颜色值所占图像颜色总值的比例,
然后以坐标的形式表示出来
,该坐标的横纵坐标分别表示色彩和色彩出现的频数。
2)颜色矩
颜色矩
是表示颜色特征的方法之一
,
比 较 简 单
,
分为一阶矩、二阶矩、三阶矩,其中一阶矩表示均值、二阶矩表
示方差、
三阶矩表示斜度
。
颜色矩可以有效地表示图像中颜色的分布,
该方法检索率比较低
,
但是不需要将颜色空间量化,
并且特征向量维数低。颜色矩
3
个阶的数学定义如下:


四、基于 BP神经网络的颜色识别算法实现
经过特征向量的提取
,为用神经网络算法来识别颜色提供了参数,其具体的神经网络的使用如下。
神经网络
是一种针对非线性可微分函数进行权值训练的多层网络,
它有着自学习功能
,
因此运用广泛
,
涉及系统辨识、
智能控制
、
图像处理和模式识别等领域
,
其特点是不需要建立系统的数学模型,
仅仅依靠样本数据就能够实现从输入状态空间到输出状态空间的高度非线性映射。
采用自动遍历隐藏层节点数的方法来确定隐藏层的最优节点数。定义误差为期望值与实际检测值的差的绝对值,数学表达式如式:
实现效果图样例
用多根电线做为样本
,
每次采集
4
根电线的图像
,
利用OpenCV 编写颜色识别软件
,
软 件 界 面 如 图
所 示
,
对 3000个样本的检测准确率达到
100%
,
且识别速度较快
,
达到了预期的目的。
我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。
毕设帮助,疑难解答,欢迎打扰!
最后