opencv c++ ROI 手动设定曝光 代码
时间: 2023-06-15 07:07:33 浏览: 141
以下是使用 OpenCV C++ 实现手动设定 ROI 曝光的代码示例:
```cpp
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 读取图像
Mat img = imread("test.jpg");
// 创建窗口并显示图像
namedWindow("Image", WINDOW_NORMAL);
imshow("Image", img);
// 选择 ROI 区域
Rect roi = selectROI("Image", img);
// 设定曝光值
double exposure = 1.5;
// 对 ROI 区域进行曝光
Mat roi_img = img(roi);
roi_img.convertTo(roi_img, -1, exposure);
// 显示处理后的图像
imshow("Image", img);
waitKey(0);
return 0;
}
```
代码解析:
1. 首先读取一张图片并显示在窗口中;
2. 调用 `selectROI` 函数选择感兴趣的区域,返回一个 `Rect` 对象;
3. 设定曝光值,这里我们假设曝光值为 1.5;
4. 使用 `convertTo` 函数对 ROI 区域进行曝光处理;
5. 最后再次显示处理后的图像。
注意事项:
1. 在选择 ROI 区域时需要按住鼠标左键进行拖拽;
2. 代码中的 `selectROI` 函数需要用户手动编译 OpenCV 库时进行选择,否则可能会出现链接错误;
3. 代码中的曝光值为常量,实际应用中可以通过用户输入动态获取。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044736.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)