opencv学习调整图像对比度

1、掩膜


#include <iostream>

#include <opencv2/opencv.hpp>

#include <math.h>


using namespace cv;


int main(){

    Mat src,dst;

    src = imread("/Users/pc/Desktop/1.jpg");

    if(!src.data){

        printf("could not load image!");

        return -1;

    }

    namedWindow("input image",CV_WINDOW_AUTOSIZE);

    imshow("input image", src);

    

//    //掩膜

//    int rows = src.rows-1;

//    int cols = (src.cols-1) * src.channels();

//    int offset = src.channels();

//    //初始化空

//    dst = Mat::zeros(src.size(), src.type());

//    for(int row=1; row<rows; row++){

//        const uchar* previous = src.ptr<uchar>(row-1);

//        const uchar* current = src.ptr<uchar>(row);

//        const uchar* next = src.ptr<uchar>(row+1);

//        uchar* output = dst.ptr<uchar>(row);

//        for(int col=offset; col<cols; col++){

//            output[col] = saturate_cast<uchar>(5*current[col] - (current[col-offset] + current[col+offset] + previous[col] +next[col]));

//        }

//    }

    

    double t =getTickCount();

    Mat kernel = (Mat_<char>(3,3) << 0,-1,0,-1,5,-1,0,-1,0);

    filter2D(src, dst, src.depth(), kernel);

    double timeConsume = (getTickCount()-t) / getTickFrequency();

    

    printf("time consume %.3f",timeConsume);

    

    namedWindow("output image", CV_WINDOW_AUTOSIZE);

    imshow("output image", dst);

    

    waitKey(0);

    return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值