티스토리 뷰
opencv 이미지 처리 과정 중 궁금한 것들 정리해보려고 한다.
이미지에서 바둑판모양을 추출하려고 알아보니 다음과 같은 설명이 나왔다.
1. 왜 사진을 흑백이미지로 변환할까 ?
- 컬러이미지의 경우 RGB 3개의 채널을 사용하는데 흑백 이미지의 경우 1개의 채널을 사용하기 때문에 이미지 처리 속도가 1/3 가량 빨라진다고 한다.
- grayscale 로 변환하는 것 외로 HSV(색상, 명도, 채도), YUV(밝기, 색상차) 등이 있다.
2. blur 처리는 왜 하는 것일까 ?
- 기존 이미지에 필터를 합성(2D convolution)하여 이미지를 변형하는데 노이즈를 제거하는데 유용하며 이미지가 매끈하게 보이는 효과를 낸다고하여 smoothing 이라고도 불린다.
- 노이즈를 제거하는 방법으로는 평균을 내는 방법이 있고 Average(평균), Gaussian(가우시안 분포), Median(중간값), Bilateral Filter가 있다고 한다.
- Bilateral Filtering: 이미지 내의 엣지를 살리며 노이즈를 제거하는 방식으로 현재 픽셀 값이 주변 픽셀값과 비슷하면 1, 비슷하지 않으면 0의 값을 주어 필터에 가중치를 부여하는 방식이다.
3. threshold 는 무엇일까 ?
- thresholding은 바이너리 이미지를 만드는 대표적인 방법으로 여러 값을 어떤 임계점을 기준으로 검은색과 흰색으로 나누어 표현한다. 픽셀이 임계값을 넘으면 255, 임계값을 넘지 않으면 0으로 지정한다.
- 바이너리 이미지: 검은색과 하얀색으로 이루어진 이미지
4. contour는 무엇일까 ?
- contour는 이미지의 외곽, 내곽을 검출할 수 있도록 도와준다.
5. ROI는 무엇일까 ?
- ROI(Region of Interest)로 관심 영역을 의미하며 opencv에서 일부 함수에게 ROI연산을 지원 하며 마스크 타입을 인자로 전달해야 한다. 마스크 영상은 grayscale 타입이며 주로 바이너리 이미지를 사용한다고 한다.
참고자료
https://bkshin.tistory.com/entry/OpenCV-7-%E3%85%87%E3%85%87
https://bkshin.tistory.com/entry/OpenCV-8-%EC%8A%A4%EB%A0%88%EC%8B%9C%ED%99%80%EB%94%A9Thresholding
https://deep-learning-study.tistory.com/104
'📦 개발 > opencv' 카테고리의 다른 글
[opencv] 보드판 생성 (0) | 2023.01.31 |
---|---|
[opencv] opencv.js Getting Started with Images (0) | 2023.01.15 |
[opencv] opencv.js template matching (0) | 2023.01.14 |