opencv:通过滑动条调节亮度和对比度

示例代码:

#include <opencv.hpp>
using namespace cv;
using namespace std;
void on_change(int, void*); // trackbar 的 callback
int contrastValue; // 对比度
int brightValue; // 亮度值
Mat src, dst;
int main()
{
    src= imread("005.jpg");
    dst = src.clone();
    
    contrastValue = 50; // init value = 50
    brightValue = 50; // init value = 50
    namedWindow("调节器", WINDOW_FULLSCREEN);
    createTrackbar("对比度:", "调节器", &contrastValue, 100, on_change);
    createTrackbar("亮度:", "调节器", &brightValue, 100, on_change);
    on_change(contrastValue, 0);
    on_change(brightValue, 0);
    
    waitKey(0);
    return 0;
}
void on_change(int, void*)
{
    for (int y = 0; y < src.rows; y++)
    {
        uchar * data = dst.ptr<uchar>(y); // 获得每行首地址
        uchar * data2 = src.ptr<uchar>(y);
        for (int x = 0; x < src.cols*src.channels();x++)
            data[x] = saturate_cast<uchar>(data2[x] *contrastValue*0.02  + brightValue-50);
            
    }
    imshow("调节器", dst);
}

 

  

转载于:https://www.cnblogs.com/whlook/p/6476932.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV中,可以使用滑动调节图像的亮度对比度等参数。引用\[1\]中的代码演示了如何使用滑动调节图像的卷积核大小,从而改变图像的形态学操作效果。而引用\[2\]中的示例代码展示了如何使用滑动调节图像的亮度,通过改变滑动的值来实时调整图像的亮度。最后,引用\[3\]中的示例代码展示了如何使用滑动来绘制图像的轨迹。通过鼠标左键点击并拖动,可以在图像上绘制出轨迹线。这些示例代码可以帮助你理解如何在OpenCV中使用滑动调节图像。 #### 引用[.reference_title] - *1* [opencv学习-滑动及其应用](https://blog.csdn.net/weixin_51244852/article/details/118339355)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [OpenCV学习笔记(七)——窗口交互操作(图像窗口滑动、鼠标响应事件)](https://blog.csdn.net/a1016249126/article/details/123782850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值