【C++ & Opencv】【第九天】Opencv中size()函数的行列前后问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是用C++和OpenCV库实现的灰度变换函数: ```c++ #include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace cv; void grayTransform(Mat& image, double alpha, double beta){ // 获取图像宽、高、通道数 int width = image.cols; int height = image.rows; int channels = image.channels(); // 判断输入图像是否为灰度图像 if(channels != 1){ cout << "输入图像不是灰度图像!" << endl; return; } // 对每一个像素进行灰度变换 for(int i = 0; i < height; i++){ for(int j = 0; j < width; j++){ int gray = image.at<uchar>(i, j); gray = saturate_cast<uchar>(alpha * gray + beta); image.at<uchar>(i, j) = gray; } } } int main(){ Mat image = imread("lena.jpg", IMREAD_GRAYSCALE); if(image.empty()){ cout << "读取图像失败!" << endl; return -1; } double alpha, beta; cout << "请输入灰度变换参数alpha和beta:" << endl; cin >> alpha >> beta; Mat result; grayTransform(image, alpha, beta); imshow("原图像", image); imshow("灰度变换后的图像", result); waitKey(0); return 0; } ``` 其,`grayTransform()`函数对输入的灰度图像进行灰度变换,参数`alpha`和`beta`是灰度变换的参数。在`main()`函数,用户可以输入灰度变换的参数,然后调用`grayTransform()`函数实现灰度变换,并显示原图像和变换后的图像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值