c++opencv,将彩色图片result的点point处颜色修改为白色
时间: 2024-03-01 11:53:53 浏览: 92
opencv转换图像颜色
4星 · 用户满意度95%
要将彩色图片中的某个点的颜色修改为白色,可以使用与上一个回答类似的方法,使用 `at` 函数访问该像素,并将其颜色设置为白色。以下是示例代码:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("result.jpg");
// 修改坐标为 (x, y) 的像素为白色
int x = 100;
int y = 100;
img.at<Vec3b>(y, x) = Vec3b(255, 255, 255);
imshow("Image", img);
waitKey(0);
return 0;
}
```
在这个示例中,我们读入了一张名为 "result.jpg" 的彩色图片,并将其指定点的颜色修改为白色。点的坐标为 (x, y),需要根据实际情况替换为需要修改的点的坐标。将该点的颜色设置为 Vec3b(255, 255, 255),即可得到白色像素。
同样需要注意的是,如果修改的像素坐标超出了图像的范围,会导致程序崩溃。因此,在修改像素值之前,需要先判断像素坐标是否在图像范围内。另外,如果需要修改的是一个区域的像素值,可以使用 `Rect` 类型来表示该区域,并使用 `roi` 函数访问该区域的像素。
阅读全文