---
title: bitwise_or
description: "bitwise_or用于对两幅图像或一个图像与掩码进行逐像素的按位或计算。该函数主要用于图像处理中的逻辑操作，例如合并图像、增强特定区域等。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_kpcv_06_0042.html
sourcePath: /source/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_kpcv_06_0042.html
indexId: 29ca64972afacb5e32046d20e396dac63e51293a25f8a80712a36c010aa4e07677
---
# bitwise_or

#### 函数功能

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


#### 函数接口

```
void bitwise_or(InputArray src1, InputArray src2, OutputArray dst, InputArray mask = noArray());
```


#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| src1 | 第一幅输入图像。 | 非空 | 输入 |
| src2 | 第二幅输入图像。 | 非空，与src1尺寸相同 | 输入 |
| dst | 输出图像。 | Mat类型 | 输入 |
| mask | 可选掩码，用于指定计算区域。 | Mat类型 | 输入 |


#### 示例

```
#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;
}
```
