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
반응형
'Programming > OpenCV' 카테고리의 다른 글
[OpenCV] 라벨링 개념, 객체 카운팅 + 색상 추출 + 라벨링 예제 (0) | 2018.10.22 |
---|---|
[OpenCV] putText 폰트 c++ (0) | 2018.10.18 |
[OpenCV] image inpaint 함수 (object removal or region filling) (0) | 2018.09.05 |
[OpenCV] 동영상 저장 및 파일명 지정 (to_string) (0) | 2017.08.17 |
[OpenCV] Image Denoising (0) | 2017.02.16 |