칼라 이미지를 그레이스케일로 변환시에 OpenCV는 아래 함수를 사용한다.
cv::cvtColor(color, gray, cv::COLOR_BGR2GRAY); |
위의 함수는 표준 변환 비율( 0.299 ∙ Red + 0.587 ∙ Green + 0.114 ∙ Blue) 을 사용한다.
이는 인간의 눈에는 Green이 민감하게 반응하기 때문에 제일 반영 비율이 높다.
하지만 필요에 따라서는 똑같은 비율을 사용하고자 할 때가 있을 것이며 아래의 함수를 사용하면 간단히 적용 가능하다.
단, 위의 함수에 비해 속도는 상당히 느려진다.
cv::transform(color, gray, cv::Matx13f(0.333, 0.333, 0.333)); |
처리 시간 테스트
사용 이미지: 17500 x 12812 Pixels (224.21 MPixels) (1.36) RGB 24bits
cvtColor : 3회 평군 0.062 초
transform :3회 평균 0.355 초
'opencv' 카테고리의 다른 글
자동차 번호판 추출하기 (0) | 2025.02.15 |
---|---|
C# 와 C++/CLI Dll 사이의 이미지 전달 (0) | 2025.02.10 |
(opencv) 이미지위의 직선상의 픽셀위치 구하기 (0) | 2025.02.08 |
(opencv) pixel access time (1) | 2025.02.08 |
contour / labelling (0) | 2023.12.07 |