浅析OpenCV在图像处理技术中的应用

2018-12-03 03:29苏州大学计算机科学与技术学院江苏苏州215000
数码设计 2018年8期
关键词:直方图图像处理平均值

陈 龙(苏州大学计算机科学与技术学院 江苏 苏州 215000)

1 图像处理的相关概念

1.1、原始图像的载入或者获取:一般通过加载本地图像、照相机获取图片、摄像头获取视频数据、绘图软件创建图像等方式实现。

1.2、图像的加工处理:首先是对图像的预处理过程,可以通过算法工具对图像进行直方图分析、几何变换、空间变换、阀值化、傅里叶变换、边缘检测、图像变换等方法处理原始图像,增强图像的显示效果、修复受损图像、实现图像的位移、空间变换等[1]。

1.3、图像处理应用:通过图像的加工处理,提取关键信息,如图像的频域数据、边缘分布,直方图分布等信息,实现字符的匹配识别、人脸的匹配识别等,通过计算机进行数据集训练,实现基于深度学习的图像识别应用。

2 OpenCV介绍以及优势

OpenCV首先是一个计算机视觉工具库,可以跨平台的在各大主流操作系统(如windows、MAC OS、Linux)上运行。OpenCV提供了丰富的语言接口,可以通过VC++、Python等语言开发程序实现图像处理功能。与OpenCV类似的视觉库有MATALAB。MATALAB拥有强大的线性代数处理能力,可以高效率的处理多维矩阵的图像,但是由于其不是一个开源软件,需要付费购买使用,所以更多应用于实验室。更多的个人开发者利用免费开源的OpenCV来开发图像处理程序。而程序语言平台的选择上,根据开发者语言背景、应用领域的不同,选择各有侧重点。由于OpenCV本身即是由C++语言开发的,通过VC++开发OpenCV程序的运行效率要高,看重程序运行效率、对硬件资源利用要求高的开发更多的选择C++编译。Python语言具有较强的可读性,具有易于学习、可扩展、可移植、可嵌入等特点并与具有丰富的标准库,广泛应用于追求程序开发速度。

3 在VS(C++)平台上利用OpenCV库实现图像处理的过程

为了有效地提取图像的关键信息,有必要对原始图像进行一系列的预处理,以便于图像的特征提取、边缘分割、图像匹配与图像识别。彩色图像的每个像素点的颜色由G、R、B的值确定的,每个都有255个值可供选择,而灰度图像是只有8位的图像深度,图像处理所需要的计算量会小很多。图像灰度化一般常用的方法有三种,平均值法、最大值法、加权平均值法。

函数表达式:

(1)平均值法:Gray(m,n)=[R(m,n)+G(m,n)+B(m,n)]/3

(2)加权平均值法:Gray(m,n)=0.299*R(m,n)+0.587G(m,n)+0.144*B(m,n)

(3)最大值法:Gray(m,n)=0.5*Max{G(m,n),B(m,n),R(m,n)}。

图像灰度化加权平均值法源代码:

void cvtCOLOR(Mat src,Mat dst)

{float R,G,B;

for(int y=0;y < src.rows;y++)

{uchar* data=dst.ptr< uchar> (y);

for(int x=0;x < src.cols;x++)

{B=src.at<Vec3b >(y,x)[0];

G=src.at<Vec3b> (y,x)[1];

R=src.at<Vec3b> (y,x)[2];

data[x]=(int)(R*0.299+G*0.587+B*0.114);//利用公式计算图像灰度值(加权平均法)}}}

int main()

{Mat src=imread("测试.jpg",测试);

Mat dst(src.rows,src.cols,CV_8UC1);//大小与原图相同的八位单通道图

cvtCOLOR(src,dst);

namedWindow("原始图",0);//实现原始图像可压缩

imshow("原始图",src);

namedWindow("灰度图",0);//实现灰度图像可压缩

imshow("灰度图",dst);

waitKey(0);

return 0;

}

4 总结

本文通过对图像处理的相关概念、OpenCV视觉库及VS+OpenCV图像处理过程的介绍,帮助大家了解OpenCV在图像处理领域的应用。通过上面图像灰度化的实现过程,可以发现利用OpenCV中的算法进行图像处理的实质就是将模拟图像数字化之后,对数字图像中的每个像素的灰度值进行处理。对分别率为MXN的图像可以看做一个MXN的矩阵,图像像素与矩阵元素一一对应,图像处理研究的核心在于算法研究,通过对矩阵元素进行一系列的数学变换,可以实现图像的增强、变换、分割等。目前,OpenCV中提供了多种的图像处理算法,同时需要我们在利用其进行图像处理实践研究的过程中对其不断做出改进。

猜你喜欢
直方图图像处理平均值
符合差分隐私的流数据统计直方图发布
海战场侦察图像处理技术图谱及应用展望
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
平均值的一组新不等式
基于FPGA的直方图均衡图像增强算法设计及实现
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的废有色金属自动分选算法研究
用直方图控制画面影调
中考频数分布直方图题型展示
变力做功时运用F=F1+F2/2的条件