• OpenCV利用像素点操作调整图像亮度


    一、概述

      示例代码:利用简单的数学元素提升图像的亮度。

    二、示例图像

      

    三、代码示例

    //图像像素点操作
    #include <opencv2/opencv.hpp>
    #include <iostream>
    using namespace cv;
    using namespace std;
    
    int main(int argc, char const *argv[])
    {
    	Mat input,output;
    	input = imread("girl.jpg");
    	if(!input.data){
    		cout << "can't not found image"<<endl;
    		return -1;
    	}
    	imshow("input",input);
    	//获取图片的宽高
    	int height = input.rows;
    	int width = input.cols;
    	double alpha = 1.2;
    	double beat =50;
    	//按照原图的大小创建一个输出图像
    	output = Mat::zeros(input.size(),input.type());
    	//以下代码的意思是将input中的像素值取出,然后再经由数学运算赋值到output中
    	for(int y=0;y<height;y++){
    		for(int x = 0 ;x<width;x++){
    			//blue,saturate_cast<uchar>(value)确保值大小范围为0~255之间
    			output.at<Vec3b>(y,x)[0] = saturate_cast<uchar>(alpha*input.at<Vec3b>(y,x)[0]+beat);
    			//green
    			output.at<Vec3b>(y,x)[1] = saturate_cast<uchar>(alpha*input.at<Vec3b>(y,x)[1]+beat);
    			//red
    			output.at<Vec3b>(y,x)[2] = saturate_cast<uchar>(alpha*input.at<Vec3b>(y,x)[2]+beat);
    		}
    	}
    
    	imshow("output",output);
    	waitKey(0);
    	return 0;
    }
    

      

  • 相关阅读:
    按钮水波纹效果
    点击水波纹效果
    实现图片上传预览效果
    css 实现鼠标滑过流光效果
    插件地址参考
    移动前端经验
    移动端开发需要加的meta
    25款css动画库
    oracle 中的next_day函数
    Oracle replace函数
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/15380904.html
Copyright © 2020-2023  润新知