런닝머신 (ML)
[컴퓨터 비전 & 머신러닝] 영상의 논리 연산
z_zen
2023. 4. 18. 21:26
728x90
영상의 논리 연산은 픽셀 값을 이진수로 표현하여 각 비트 단위 논리 연산을 수행하는 것을 의미한다
a | b | a AND b | a OR b | a XOR b | NOT a |
0 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 0 | 0 |
논리 연산을 예제로 간단하게 알아보자
{
Mat src1 = imread("lenna256.bmp", IMREAD_GRAYSCALE);
Mat src2 = imread("square.bmp", IMREAD_GRAYSCALE);
if (src1.empty() || src2.empty()) {
cerr << "Image load failed!" << endl;
return -1;
}
imshow("src1", src1);
imshow("src2", src2);
Mat dst1, dst2, dst3, dst4;
bitwise_and(src1, src2, dst1); //dst1 = src1 & src2;
bitwise_or(src1, src2, dst2); //dst2 = src1 | src2;
bitwise_xor(src1, src2, dst3); //dst3 = src1 ^ src2;
bitwise_not(src1, dst4); //dst4 = ~src1;
imshow("dst1", dst1);
imshow("dst2", dst2);
imshow("dst3", dst3);
imshow("dst4", dst4);
waitKey();
return 0;
}
728x90