개발이야기

영상 처리 공부하기

하늘흐늘 2026. 4. 5. 16:54
반응형

"OpenCV를 활용한 컴퓨터 비전 프로그래밍 3/e" 라는 책을 읽었습니다. 처음에는 OpenCV가 뭐인데 왜 이리 유명하지 라는 궁금증에서 읽기 시작했는데 필요부분을 추가로 조사하고 공부하다 보니 영상 처리를 초급 이상으로 이해하는 계기가 되었습니다.

OpenCV가 뭐지?
영상처리를 관련하여 해당 분야에서 가장 유명한 C/C++로 만들어진 오픈 소스 라이브러리로 여러 언어에서의 사용을 지원합니다. 요즘에는 인공지능쪽에서 많이 쓰이는 관계로 파이썬 인공지능 코드에서도 많이 사용되고 있습니다.

영상처리가 뭐지?
동영상이나 이미지에 대한 처리로 요즘에는 단순 이미지 처리보다는 얼굴 인식이나 침입자 인식 혹은 자유 주행에서의 차선 인식 등 영상에서 객체나 정보를 인식하는 쪽으로 진화하고 있습니다. 참고로 영상처리는 디지털 카메라나 CCTV의 대중화에 함께 빠르게 발전하고 있습니다.

딥러닝 시대에도 필요하나?
영상이나 이미지의 인지에 관련된 부분이 사람의 알고리즘 위주에서 머신러닝이나 딥러닝 학습과 추론 활용 중심으로 변화하고 있습니다. 하지만 여전히 사람의 알고리즘은 저사양 임베디드 등 인공지능을 사용하지 않는 곳에서 많이 사용되고 있습니다. 또한 인공지능에서 이미지 관련 학습과 추론의 과정에서 선후처리에 함께 사용되고 있습니다.

초보자도 OpenCV를 그냥 공부하면 될까?
OpenCV는 어떻게 보면 관련 API를 이해하고 사용하는 거라 그리 어렵지는 않습니다. 하지만 영상처리 알고리즘 특성을 이해해야 하는 부분은 조금 어렵게 느껴질 수 있습니다. 영상처리를 깊게 이해하려면 영상처리 알고리즘을 어느정도 이해하는 것이 좋은 듯 합니다. 

OpenCV 공부하기 전에 보면 좋은 것은?
OpenCV 관련 책을 볼 때 뭔가 기초없이 중급 책을 보는 듯한 느낌을 받았습니다. 그래서 저는 영상 처리 프로그래밍 by Visual C++ 라는 영상처리 박사 전공 저자가 쓴 책을 따로 읽었습니다.해당 책은 MFC 라이브러리를 사용한다는 것을 제외하고는 기초 알고리즘에 대한 설명과 구현 소스를 볼 수 있어 영상 처리가 이런 거구나 라는 기초를 잡는데 좋았습니다. 참고로 해당 책의 최신 개정본은 Visual C++ 영상 처리 프로그래밍 입니다. 

영상 처리를 공부하는 방법과 느낀 점은?
기초 책에서 저자가 말하는 것은 OpenCV 같은 라이브러리만 공부하지 말고 알고리즘을 공부하고 이해하는 것이 좋다는 것이었습니다. 그래서 각종 영상처리 알고리즘을 유튜브, 블로그, AI를 활용하여 공부하였고 교육용 소스 코드 레벨에서 이해도 하였습니다. 물론 KCF 같은 알고리즘들은 이해에 한계가 있었지만 복잡한 수학적 알고리즘으로 이미지에서 특성을 이렇게 알 수 있구나라는 통찰을 얻을 수 있어 좋았습니다.

영상 처리 알고리즘에 관하여...
영상처리 알고리즘은 대부분 복잡한 수학적인 알고리즘을 기반으로 합니다. 대학교에서도 전산학부보다는 전자관련 학부에 전공자가 있는거 같습니다. 여러가지 역사적 이유가 있겠지만 그냥 수학공부라는 관점에서 본다면 전자관련 학부가 좀 더 깊게 수학을 공부한다는 점에서 이해가 가기도 합니다.

"OpenCV를 활용한 컴퓨터 비전 프로그래밍 3/e"라는 책에 관하여...
필요한 API나 알고리즘을 순서대로 설명하고 있어서 어떤 일을 하는데 어떤 알고리즘이 사용되는지를 판단하는데에는 좋았습니다. 하지만 특유의 번역체 느낌은 아쉬웠습니다. 개정판이 여러번 나온 책인 만큼 어느정도 수준에서 읽을 만한 책이긴 하지만 강력히 추천할 정도는 아니듯 싶습니다. 

 

반응형