728x90
반응형
OpenCV 특정 픽셀 값 접근하기
아래 예제는 원본 이미지 A로부터
어떠한 영상처리를 거친 이미지 B의 검출 영역인 흰색 부분을
원본 이미지 A에 다시 파란색으로 그리는 예제이다.
원본 이미지 A
마스크 이미지 B
결과 이미지 C
#include <opencv2/opencv.hpp>
int main() {
Mat dst = imread("image/lesion.jpg"); // 원본 이미지 A
Mat src = imread("image/mask.jpg"); // 마스크 이미지 B
for (int y = 0; y < src.rows; ++y) {
for (int x = 0; x < src.cols; ++x) {
if (src.at<uchar>(y, x) == 255) { // 마스크 이미지의 흰색 픽셀이면
dst.at<vec3b>(y, x)[0] = 255; // 해당 픽셀을 파란색으로 변경
dst.at<vec3b>(y, x)[1] = 0; // BGR 순서
dst.at<vec3b>(y, x)[2] = 0;
}
}
}
imshow("src", src);
imshow("dst", dst);
return 0;
}
728x90
반응형
'Development & Tools > Tools & Environments' 카테고리의 다른 글
| [Embedded linux] 리눅스 기반 Buildroot 를 이용하여 시스템 이미지 생성하기 (0) | 2018.10.05 |
|---|---|
| [Embedded linux] VAB-630 보드 사양 (0) | 2018.10.05 |
| [OpenCV] image inpaint 함수 (object removal or region filling) (0) | 2018.09.05 |
| [Linux] dmesg 명령어 (1) | 2018.08.21 |
| [Linux] 부트로더 (0) | 2018.08.21 |