cv::Mat m1 = cv::Mat::zeros(Size(256, 256), CV_8UC3);
cv::Mat m2 = cv::Mat::zeros(Size(256, 256), CV_8UC3);
rectangle(m1, Rect(100, 100, 80, 80),Scalar(255,255,0),-1,LINE_8,0);
rectangle(m2, Rect(150, 150, 80, 80), Scalar(0, 255, 255), -1, LINE_8, 0);
imshow("m1", m1);
imshow("m2", m2);
Mat dst;
bitwise_and(m1, m2, dst);
imshow("与操作", dst);
bitwise_or(m1, m2, dst);
imshow("或操作", dst);
QString appPath = QCoreApplication::applicationDirPath();
imagePath = appPath + "/A.jpg";
img = cv::imread(imagePath.toStdString());
if (img.empty())
return;
bitwise_not(img, dst);
imshow("非操作", dst);
bitwise_xor(m1, m2, dst);
imshow("异或操作", dst);
cv::waitKey(0);
cv::destroyAllWindows();
推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt