bitwise_or用于对两幅图像或一个图像与掩码进行逐像素的按位或计算。该函数主要用于图像处理中的逻辑操作,例如合并图像、增强特定区域等。
1 | void bitwise_or(InputArray src1, InputArray src2, OutputArray dst, InputArray mask = noArray()); |
参数名 |
描述 |
取值范围 |
输入/输出 |
---|---|---|---|
src1 |
第一幅输入图像。 |
非空 |
输入 |
src2 |
第二幅输入图像。 |
非空,与src1尺寸相同 |
输入 |
dst |
输出图像。 |
Mat类型 |
输入 |
mask |
可选掩码,用于指定计算区域。 |
Mat类型 |
输入 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; int main() { // 读取两幅图像 Mat img1 = imread("image1.jpg"); Mat img2 = imread("image2.jpg"); if (img1.empty() || img2.empty()) { std::cerr << "无法加载图像!" << std::endl; return -1; } // 调整图像尺寸以匹配 resize(img2, img2, img1.size()); // 进行按位或操作 Mat dst; bitwise_or(img1, img2, dst); // 显示结果 imshow("图像1", img1); imshow("图像2", img2); imshow("按位或结果", dst); waitKey(0); return 0; } |