c++opencv将灰度图中的像素点大于等于100的值改为255,小于100的像素点值不变,然后输出图像
时间: 2024-02-12 20:04:08 浏览: 11
可以使用OpenCV中的cv::threshold函数来实现这个功能。下面是一个示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 读入灰度图
Mat gray_img = imread("gray_img.jpg", IMREAD_GRAYSCALE);
// 对图像进行二值化处理
Mat binary_img;
threshold(gray_img, binary_img, 100, 255, THRESH_BINARY);
// 显示二值化后的图像
imshow("Binary Image", binary_img);
waitKey(0);
// 保存二值化后的图像
imwrite("binary_img.jpg", binary_img);
return 0;
}
```
在这个示例代码中,首先使用imread函数读入灰度图像,然后使用threshold函数对图像进行二值化处理。其中,第一个参数是输入图像,第二个参数是输出图像,第三个参数是阈值,大于等于这个阈值的像素点会被设置为第四个参数的值,小于这个阈值的像素点会被设置为0。最后,使用imshow函数显示二值化后的图像,并使用imwrite函数保存二值化后的图像。
阅读全文