浅析OpencV在图像处理技术中的应用
作者:陈龙
来源:《数码设计》2018年第08期
摘要:进入21世纪以来,科技发展日新月异,尤其是计算机科学与互联网技术得到长足发展。图像作为现实世界最为原始的记录,在进入互联网时代以后,图像数据无论是数量还是传播速度都呈现出几何倍的增长,同时由于海量图像数据的来源、质量错综复杂,无法直接应用于生产生活,所以对原始图像进行一定的处理加工,以方便工业、安全、通信、交通、文化娱乐等领域应用显得尤为重要。 关键词:OpenCV;图像处理 1图像处理的相关概念
1.1、原始图像的载入或者获取:一般通过加载本地图像、照相机获取图片、摄像头获取视频数据、绘图软件创建图像等方式实现。
1.2、图像的加工处理:首先是对图像的预处理过程,可以通过算法工具对图像进行直方图分析、几何变换、空间变换、阀值化、傅里叶变换、边缘检测、图像变换等方法处理原始图像,增强图像的显示效果、修复受损图像、实现图像的位移、空间变换等。
1.3、图像处理应用:通过图像的加工处理,提取关键信息,如图像的频域数据、边缘分布,直方图分布等信息,实现字符的匹配识别、人脸的匹配识别等,通过计算机进行数据集训练,实现基于深度学习的图像识别应用。 2 OpenCV介绍以及优势
OpenCV首先是一个计算机视觉工具库,可以跨平台的在各大主流操作系统(如windows、MAC OS、Linux)上运行。OpenCV提供了丰富的语言接口,可以通过VC++、Pvthon等语言开发程序实现图像处理功能。与openCV类似的视觉库有MATALAB。MATALAB拥有强大的线性代数处理能力,可以高效率的处理多维矩阵的图像,但是由于其不是一个开源软件,需要付费购买使用,所以更多应用于实验室。更多的个人开发者利用免费开源的OpenCV来开发图像处理程序。而程序语言平台的选择上,根据开发者语言背景、应用领域的不同,选择各有侧重点。由于OpenCV本身即是由c++语言开发的,通过VC++开发OpenCV程序的运行效率要高,看重程序运行效率、对硬件资源利用要求高的开发更多的选择C++编译。Python语言具有较强的可读性,具有易于学习、可扩展、可移植、可嵌入等特点并与具有丰富的标准库,广泛应用于追求程序开发速度。
3在VS(C++)平台上利用OpenCV库实现图像处理的过程
龙源期刊网 http://www.qikan.com.cn
为了有效地提取图像的关键信息,有必要对原始图像进行一系列的预处理,以便于图像的特征提取、边缘分割、图像匹配与图像识别。彩色图像的每个像素点的颜色由G、R、B的值确定的,每个都有255个值可供选择,而灰度图像是只有8位的图像深度,图像处理所需要的计算量会小很多。图像灰度化一般常用的方法有三种,平均值法、最大值法、加权平均值法。 函数表达式: 4总结
本文通过对图像处理的相关概念、OpenCV视觉库及VS+OpenCV图像处理过程的介绍,帮助大家了解OpenCV在图像处理领域的应用。通过上面图像灰度化的实现过程,可以发现利用OpenCV中的算法进行图像处理的实质就是将模拟图像数字化之后,对数字图像中的每个像素的灰度值进行处理。对分别率为MXN的图像可以看做一个MXN的矩阵,图像像素与矩阵元素一一对应,图像处理研究的核心在于算法研究,通过对矩阵元素进行一系列的数学变换,可以实现图像的增强、变换、分割等。目前,OpenCV中提供了多种的图像处理算法,同时需要我们在利用其进行图像处理实践研究的过程中对其不断做出改进。
因篇幅问题不能全部显示,请点此查看更多更全内容