(See below for English version.)  

영상처리 기술을 살아있는 기술로 만들기 위해서는 영상처리에 기본적인 지식과 프로그래밍 언어를 이용한 기술 구현능력이 필요합니다. 예를 들면 영상에서 꽃만 추출하고 싶다고 할 때 잡음 제거(Noise Reduction)를 위한 필터링(Filtering), 모양을 확인하기 위한 윤곽선 추출(Edge Detection), 크기 및 위치 정보 확인을 위한 연결성분 해석(Connected Component Analysis) 등등에 알고리즘이 필요합니다. 이 때 각 기능들을 하나씩 구현하고 검증하는 과정이 필요한데 상황에 따라 많은 시간을 필요로 하게 됩니다. 따라서 기본적인 알고리즘들이 기능으로 만들어져 있다면 개발 시간을 줄일 수 있을 뿐만 아니라 다양한 시험들을 해 볼 수 있을 겁니다. 이럴 때 주요하게 사용되는 것이 영상처리 라이브러리 입니다.

 

 

영상처리 라이브러리는 다양하게 존재합니다. 크게 유료와 무료로 구분되고 프로그래밍 언어 별로 최적화 되어 있습니다. MATLAB, MIL(Matrox Imaging Library), Cognex, Euresys 등에 유료 라이브러리 등이 있으며, OpenCV, ImageJ, PIL(Python Imaging Library) 등은 무료로 사용할 수 있는 라이브러리 들입니다. 개인적인 경험 상 활용도 측면에서 OpenCV MATLAB이 대표적으로 사용되는 유무료 라이브러리가 아닐까 생각됩니다. 산업적으로도 개발부분에 상당히 많이 활용되고 있어 프로그래밍 언어와 함께 라이브러리 쓰임새를 정확이 알아두면 영상처리 분야에 상당한 경쟁력이 될 수 있습니다.

 

영상처리 도구(Image Processing Tool) 이야기에서는 OpenCV(Open Source Computer Vision) 사용법에 대해 기술해 나갈 예정입니다. OpenCV는 실시간 영상처리를 위해 인텔(Intel)에서 개발되었고 인텔 CPU C/C++ 프로그래밍 언어에 최적화 되어 있습니다. 2000년 중 후반부터 활성화 되어 현재 버전 3.0 이상까지 나와 있습니다. 라이브러리는 사용하기 쉽게 영상처리 기능들을 모아둔 것이기 때문에 응용을 위해서는 각 기능에 본질적인 원리 등을 정확히 파악하면서 사용하는 것이 실력과 경쟁력 향상에 시작일 수 있습니다.

 

For the development of image processing application, we need the basic knowledge and algorithm design ability for image processing. For example, if you want to detect the flower in an image, you can use the noise reduction filter, edge detector for shape feature and connected component analysis algorithm to find a flower position. In this case, the functions need to be implemented and verified one by one and these steps can take a lot of time. Therefore, if the basic algorithms are built as functions, we will not only reduce the development time, but try various tests. At this time, image processing library is mainly used. In the industry, image processing libraries are widely used and there are libraries such as Matlab, MIL, Cognex, Euresys, OpenCV, etc. In my experience, OpenCV and Matlab are probably the most popular and OpenCV is free to use library. In this blog, OpenCV usage will be explained. OpenCV was developed by Intel for real-time image processing and is optimized for Intel CPU and C/C++ programming language. And it has been develop since the mid 2000’s and is now available in version 3.0 and above. If you understand the principles of using OpenCV functions through this blog, your algorithm implementation skills and technical competitiveness will be improved.

+ Recent posts