c++ opencv bitwisand 示例
时间: 2024-09-26 11:11:19 浏览: 61
在OpenCV (计算机视觉库) 中,位运算通常用于处理图像像素级别的二进制操作。`cv::bitwise_and()` 是一个函数,它对两个输入图像进行逐像素的按位与操作。下面是一个简单的C++示例,展示了如何使用 `cv::bitwise_and()` 来操作图像:
```cpp
#include <opencv2/opencv.hpp>
int main() {
// 加载两幅图像
cv::Mat img1 = cv::imread("image1.jpg", cv::IMREAD_GRAYSCALE);
cv::Mat img2 = cv::imread("image2.jpg", cv::IMREAD_GRAYSCALE);
// 检查加载是否成功
if (img1.empty() || img2.empty()) {
std::cout << "Error loading image." << std::endl;
return -1;
}
// 对两个图像进行按位与操作
cv::Mat result;
cv::bitwise_and(img1, img2, result);
// 显示原始图像和结果
cv::imshow("Original Image 1", img1);
cv::imshow("Original Image 2", img2);
cv::imshow("Bitwise AND Result", result);
// 等待用户按键并关闭窗口
cv::waitKey(0);
cv::destroyAllWindows();
return 0;
}
```
在这个例子中,如果 `image1.jpg` 和 `image2.jpg` 的对应像素值都是1,则结果将是1;否则结果为0。这是基本的二进制逻辑操作。
阅读全文