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
반응형