This commit is contained in:
2026-03-17 18:59:57 +08:00
parent 4be5a75cf8
commit 9366635e88
4 changed files with 100 additions and 12 deletions

View File

@@ -0,0 +1,44 @@
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
string path1 = "../img/2.jpg";
string path2 = "../img/3.jpg";
Mat img1 = imread(path1);
Mat img2 = imread(path2);
if (img1.empty() || img2.empty())
{
cout << "无法读取图片,请检查路径!" << endl;
return -1;
}
if (img1.size() != img2.size())
{
cout << "尺寸不一致,正在自动调整 img2 的尺寸..." << endl;
// 将 img2 缩放到与 img1 相同的尺寸
resize(img2, img2, img1.size());
}
Mat result;
// bitwise_and() 按位与操作 掩码操作、图像分割
// bitwise_or() 按位或操作 图像叠加
// bitwise_not() 按位取反操作 图像反色
// bitwise_xor() 按位异或操作 图像差异检测
bitwise_and(img1, img2, result);
imshow("Original Image 1", img1);
imshow("Original Image 2", img2);
imshow("Multiply Result", result);
// 等待按键后关闭窗口
waitKey(0);
destroyAllWindows();
return 0;
}

View File

@@ -0,0 +1,40 @@
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
string path1 = "../img/2.jpg";
string path2 = "../img/3.jpg";
Mat img1 = imread(path1);
Mat img2 = imread(path2);
if (img1.empty() || img2.empty())
{
cout << "无法读取图片,请检查路径!" << endl;
return -1;
}
if (img1.size() != img2.size())
{
cout << "尺寸不一致,正在自动调整 img2 的尺寸..." << endl;
// 将 img2 缩放到与 img1 相同的尺寸
resize(img2, img2, img1.size());
}
Mat result;
multiply(img1, img2, result);
imshow("Original Image 1", img1);
imshow("Original Image 2", img2);
imshow("Multiply Result", result);
// 等待按键后关闭窗口
waitKey(0);
destroyAllWindows();
return 0;
}

View File

@@ -13,12 +13,14 @@ int main()
Mat img1 = imread(path1);
Mat img2 = imread(path2);
if (img1.empty() || img2.empty()) {
if (img1.empty() || img2.empty())
{
cout << "无法读取图片,请检查路径!" << endl;
return -1;
}
if (img1.size() != img2.size()) {
if (img1.size() != img2.size())
{
cout << "尺寸不一致,正在自动调整 img2 的尺寸..." << endl;
// 将 img2 缩放到与 img1 相同的尺寸
resize(img2, img2, img1.size());

View File

@@ -13,12 +13,14 @@ int main()
Mat img1 = imread(path1);
Mat img2 = imread(path2);
if (img1.empty() || img2.empty()) {
if (img1.empty() || img2.empty())
{
cout << "无法读取图片,请检查路径!" << endl;
return -1;
}
if (img1.size() != img2.size()) {
if (img1.size() != img2.size())
{
cout << "尺寸不一致,正在自动调整 img2 的尺寸..." << endl;
// 将 img2 缩放到与 img1 相同的尺寸
resize(img2, img2, img1.size());