OpenCV学习笔记六-提高对比度
生活随笔
收集整理的這篇文章主要介紹了
OpenCV学习笔记六-提高对比度
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
提高像素對(duì)比度
P7 按像素提高圖像的對(duì)比度#include<iostream> #include<opencv2/opencv.hpp>using namespace std; using namespace cv;int main(int argc, char** argv) {//讀取一個(gè)文件并展示,如果文件地址不正確,打印相關(guān)信息Mat src, gray_src;src = imread("./images/Lena.png");if (src.empty()) {cout << "can't find the file " << endl;return -1;}imshow("input image", src);//調(diào)整圖片的亮度int height = src.rows;int width = src.cols;Mat src_change;src_change = Mat::zeros(src.size(), src.type());float alpha = 1;float beta = 0;for (int col = 0; col < width; col++) {for (int row = 0; row < height; row++) {if (src.channels() == 3 ) {float b = src.at<Vec3f>(row, col)[0];//讀取圖片像素float g = src.at<Vec3f>(row, col)[1];float r = src.at<Vec3f>(row, col)[2];src_change.at<Vec3f>(row,col)[0] = saturate_cast<uchar>(b*alpha + beta);//修改圖片像素src_change.at<Vec3f>(row, col)[1] = saturate_cast<uchar>(g*alpha + beta);src_change.at<Vec3f>(row, col)[2] = saturate_cast<uchar>(r*alpha + beta);}else if (src.channels() == 0) {float v = src.at<uchar>(row, col);src_change.at<uchar>(row, col) = saturate_cast<uchar>(v*alpha + beta);}}}char output_title[] = "contrast and brighten the demo";namedWindow(output_title, CV_WINDOW_AUTOSIZE);imshow(output_title, src_change);cout << src_change << endl;waitKey(0);return 0; }總結(jié)
以上是生活随笔為你收集整理的OpenCV学习笔记六-提高对比度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV学习笔记五-图像混合
- 下一篇: OpenCV学习笔记七-创建滑动条