APP下载

Image Acquisition and Processing Based on OpenCV

2018-06-12王望

校园英语·中旬 2018年4期
关键词:三门峡信息处理工程学院

【Abstract】In this paper, a simple application based on open source computer library in image acquisition by camera was introduced, and the procedure of image acquisition and contour extraction was illustrated through a concrete example. The experiment results show the validity of the method.

【Key words 】computer vision; image acquisition; OpenCV; contour extraction

【作者簡介】王望(1988.04- ),男,汉族,河南三门峡人,洛阳科技职业学院,信息工程学院计算机应用专业教师,硕士研究生,研究方向:智能信息处理。

INTRODUCTION

OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code.

The library has more than 2500 optimized algorithms, which includes a comprehensive set of both classic and state-of-the-art computer vision and machine learning algorithms. These algorithms can be used to detect and recognize faces, identify objects, classify human actions in videos, track camera movements, track moving objects, extract 3D models of objects, produce 3D po+int clouds from stereo cameras, stitch images together to produce a high resolution image of an entire scene, find similar images from an image database, remove red eyes from images taken using flash, follow eye movements, recognize scenery and establish markers to overlay it with augmented reality, etc. OpenCV has more than 47 thousand people of user community and estimated number of downloads exceeding 5 million. The library is used extensively in companies, research groups and by governmental bodies.

It has C++, C, Python and Java interfaces and supports Windows, Linux, Android and Mac OS. OpenCV leans mostly towards real-time vision applications and takes advantage of MMX and SSE instructions when available. A full-featured CUDA interface is being actively developed right now. There are over 500 algorithms and about 10 times as many functions that compose or support those algorithms. OpenCV is written natively in C++ and has a templated interface that works seamlessly with STL containers.

This paper will be structured as follows; In Section II , the basic principle of image acquisition and contour extraction will be exposed; In Section III, the experimental results and the output images will be displayed; In section IV, the proposed image processing method will be concluded as well.

IMAGE ACQUISITION AND PROCESSING

The common computer was used as experimental platform, and during the compiler environment of Microsoft Visual Studio 2010 programming ,compiler, showing result .

Image acquisition

In the image acquisition, 1.2 mega pixel USB camera was used to link computer. The camera was operated by the functions in the OpenCV library directly, that made image acquisition very simple and rapidly.

The main functions and code of image acquisition are showed as following:

CvCapture*capture=cvCreateCameraCapture();

This function will initialize camera and capture video.

IplImage*frame=cvQueryFrame();

This function will grab a frame image.

Image processing

The image processing takes contour extraction as an example, also the contour extraction algorithm was used that in the library. In fact, just using the related function for our goal is pretty easy.

The main functions and code of image acquisition are showed as following:

CvMemStorage*storage=cvCreateMemStorage();

This function will create memory space.

CvSeq*seq;

This will be used to preserve contour points.

cvFindContours();

This function will extraction contour points.

EXPERIMENT and result

In the experiment, a new project with VC++ was builded during the Visual Studio 2010.In the program ,the S key is setted as control key, when the S key is pressed, the program will grab a frame image from video then preserved the image in computer disk, and showed the contour of the image.

The result as the following:

Compared the above pictures, the first picture was original image from video .In the second picture,a obvious error contour is extracted. This error contour was not the expected contour. In the third picture,the threshold was setted lower than fixed value,and fourth picture was the threshold higher than fixed value. Through experiment ,the third picture had a better effect than Fig.2 and Fig.4,that because when light was constant,different threshold value influenced the algorithm of contour extraction,finally affected the result. For threshold value was setted according to environment light intensity,it can be reasoned that the light intensity around the camera influenced the final result as well, because a fixed threshold in the program was setted, so the light intensity changed ,the result changed accordingly.

So two methods can be used to improve the experiment result.First,keep the light intensity around the camera constantly.Second,using adaptive threshold replace the fixed threshold,so the environment changes,it changes automatically.

Conclusion

In the paper, the programming technology based on OpenCV was adopted to realized the image acquisition and edging detection and the experiment results show the method can improve the image processing efficiency. However, there still exists large potential information in digital image. How to extract the relative feature still need further research.

ACKNOWLEDGMENT

This work was supported by Hebei natural science fund (No.F2011409008),Beijing city board of eduction science and technology project(KM201211232008) and the doctoral fund project of North China Institute of Aerospace Engineering(No.KY-2008-02-B).

References:

[1]Gary Bradski and Adrian Kachler.Learning OpenCV[M].Yu shiqi,Liu ruizhen.Tsinghua University Press,2009.

[2]Yu Zhaohui,Pang Yechi and Yu Tao.The Engineering Application and Digital Image Processing of Visual C++[M].China Railway Publishing House,2012.

[3]Zhang Ruisen and Liu Jiwei.Real-Time Distance Measurement and Tracking Based Binocular Robot[J].Chinese Journal of Electron Devices,Vol.30,No.5,pp.1619-1621,2007.

[4]Chen Jun.A 3D Models Acquiring Method for Complex Surface Objects[J].Microcomputer Applications,Vol.32,No.10,pp.22-26,2011.

[5]Zhong Xiaodong.The Design of Eye Tracking System Based on Machine Vision[D].Department of Environmental Science of Xian Electronic and Science University,2010.

[6]Sun Kaipeng and Li Xinjun.Real-Time Visual Tracking Algorithm for Single Moving Object in Clustered Environment[J].Journal of Beijing University of Aeronautics and Astronautics,Vol.34,No.3, pp.345-347,2008.

[7]Yu Shiqi.OpenCV Tutorial[M].Beijing University of Aeronautics and Astronautics Press,2007.

猜你喜欢

三门峡信息处理工程学院
福建工程学院
东营市智能信息处理实验室
福建工程学院
河南三门峡西周墓出土器物
云虚拟机实例建模方法研究
福建工程学院
地震烈度信息处理平台研究
CTCS-3级列控系统RBC与ATP结合部异常信息处理
福建工程学院
文物普查——三门峡虢国博物馆在行动