c++opencv将灰度图中的像素点大于等于100的值改为255,小于100的像素点值不变,然后输出图像
时间: 2024-02-12 08:03:43 浏览: 198
可以使用以下代码实现:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 读取灰度图像
Mat img = imread("gray.jpg", IMREAD_GRAYSCALE);
// 判断像素点是否大于等于100,是则赋值为255
for (int i = 0; i < img.rows; i++) {
for (int j = 0; j < img.cols; j++) {
if (img.at<uchar>(i, j) >= 100) {
img.at<uchar>(i, j) = 255;
}
}
}
// 输出图像
imwrite("output.jpg", img);
return 0;
}
```
其中,`imread`函数用于读取灰度图像,`IMREAD_GRAYSCALE`参数表示读取灰度图像。`at`函数用于访问像素点的值,`uchar`表示像素点的数据类型为无符号字符型。`imwrite`函数用于输出图像,第一个参数为输出文件名,第二个参数为输出的图像矩阵。
阅读全文