bitwise_and

函数功能

bitwise_and用于对两幅图像或一个图像与掩码进行逐像素的按位与计算。该函数主要用于图像处理中的逻辑操作,例如提取特定区域、合并图像特定部分等。

函数接口

1
void bitwise_and(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_and(img1, img2, dst);

    // 显示结果
    imshow("图像1", img1);
    imshow("图像2", img2);
    imshow("按位与结果", dst);
    waitKey(0);

    return 0;
}