프로그래머스/OPENCV
영상의 산술 및 논리연산
junl
2022. 12. 2. 02:25
lenna.bmp
0.75MB
lenna256.bmp
0.06MB
square.bmp
0.06MB
#include <iostream>
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
#define TC 9
int main()
{
Mat src1 = imread("lenna256.bmp", IMREAD_GRAYSCALE);
Mat src2 = imread("square.bmp", IMREAD_GRAYSCALE);
if (src1.empty() || src2.empty()) {
cerr << "Image laod failed!" << endl;
return -1;
}
Mat dst;
#if TC==1
add(src1, src2, dst);
#elif TC == 2
subtract(src1, src2, dst);
#elif TC==3
addWeighted(src1, 0.5, src2, 0.5, 0, dst);
#elif TC==4
absdiff(src1, src2, dst);
#elif TC==5
multiply(src1, src2, dst);
#elif TC==6
divide(src1, src2, dst);
/*TC1~6 산술연산*/
//TC7~ 10 논리연산
#elif TC==7
bitwise_and(src1, src2, dst);
#elif TC==8
bitwise_or(src1, src2, dst);
#elif TC==9
bitwise_xor(src1, src2, dst);
#elif TC==10
bitwise_not(src1, dst);
#endif 0
imshow("src1", src1);
imshow("src2", src2);
imshow("dst", dst);
waitKey();
}