精华内容
下载资源
问答
  • 调整图片亮度和对比度脚本:可以方便对一个图片进行亮度和对比度调整
  • 主要给大家介绍了关于java图片对比度调整的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • 图片上传对比度饱和度调整js代码是一款从本地上传图片到服务端,然后通过滤器算法来处理图片,为图片设置不同的亮度,对比度和饱和度。
  • JS图片上传对比度饱和度调整代码是一款从本地上传图片到服务端,然后通过滤器算法来处理图片,为图片设置不同的亮度,对比度和饱和度。
  • 简单的图片对比度算法示例,可提高降低对比度。。
  • java图片对比度调整

    千次阅读 2017-10-03 18:50:35
    java实现色阶调整,即调整图片rgb分量,进而也可以调节图片亮度。测试代码 public static void main(String[] args) { //文件与BufferedImage间的转换 BufferedImage bi=file2img("test.jpg"); //读取图片 Buffere
       
    

    全栈工程师开发手册 (作者:栾鹏)
    java教程全解

    java实现图片对比度调整

    测试代码

    	public static void main(String[] args) {
    		
    		//文件与BufferedImage间的转换
    		BufferedImage bi=file2img("test.jpg");  //读取图片
    		BufferedImage bii=img_color_contrast(bi,100);
    		img2file(bii,"jpg","test1.jpg");  //生成图片
    		
    	}
    

    图片对比度调整代码

    //图片对比度调整
    	public static BufferedImage img_color_contrast(BufferedImage imgsrc, int contrast) {
    		try {
    			int contrast_average = 128;
    			//创建一个不带透明度的图片
    			BufferedImage back=new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(),BufferedImage.TYPE_INT_RGB);
    			int width = im
    展开全文
  • c#图片对比度调整

    千次阅读 2017-10-03 18:50:19
    java实现色阶调整,即调整图片rgb分量,进而也可以调节图片亮度。测试代码 public static void main(String[] args) { //文件与BufferedImage间的转换 BufferedImage bi=file2img("test.jpg"); //读取图片 Buffere
       
    

    c#实现图片对比度调整

    测试代码

    	
    static void Main()
    {
        Bitmap b = file2img("test.jpg");
        Bitmap bb = img_color_contrast(b, 100);
        img2file(bb, "test1.jpg");
    }
    

    图片对比度调整代码

    public static unsafe Bitmap img_color_contrast(Bitmap src, int contrast)
    {
        int contrast_average = 128;
        int width = src.Width;
        int height = src.Height;
        Bitmap back = new Bitmap(width, height);
        Rectangle rect = new Rectangle(0, 0, width, height);
        //这种速度最快
        BitmapData bmpData = src.LockBits(rect, ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);//24位rgb显示一个像素,即一个像素点3个字节,每个字节是BGR分量。Format32bppRgb是用4个字节表示一个像素
        byte* ptr = (byte*)(bmpData.Scan0);
        int pix;
        for (int j = 0; j < height; j++
    展开全文
  • 调整图片亮度和对比度并进行剪切脚本:方便的对图片进行亮度和对比度调整,并且可以剪切
  • 将rgb图像转化为ycbcr,在直方图均衡化,实现彩色图片对比度的增强,图片效果较好,代码简单。图像不会失真。
  • JS图片上传对比度饱和度调整代码是一款从本地上传图片到服务端,然后通过滤器算法来处理图片,为图片设置不同的亮度,对比度和饱和度。
  • 自己编写的一个edit的类,可以调节图片的饱和度,亮度,对比度。直接复制到工程文件下使用,
  • C++ RGB图片对比度调整

    千次阅读 2016-07-26 16:35:28
    int imgContrast( const Mat srcImg,/... const float contrast,//对比度比值 Mat &outImg)//输出图片 { if(!srcImg.data){ LOOGE[image error!]"; return -1; } // int n

    int clamp(
    	const int 									x)
    {
        if (x > 255)
            return 255;
        if (x < 0)
            return 0;
    	
        return x;
    }


    int imgContrast(
    	const Mat									srcImg,//输入图片
    	const float 								contrast,//对比度比值
    	Mat 										&outImg)//输出图片
    {
    		if(!srcImg.data){
    			LOOGE<<"[image error!]";
    			return -1; 
    		}
    
    		//
    		int nRet = 0;
    		int row, col, k;
    		int srcWidth, srcHeight;
    		int rgbmeans[3];
    		double redSum, greenSum, blueSum;
    		double total;
    		int pixelValue;
    
    		//r、g、b像素值累加 
    		redSum = 0;
    		greenSum = 0;
    		blueSum = 0;
    		srcWidth = srcImg.cols;
    		srcHeight = srcImg.rows;	
    		total = srcWidth * srcHeight;
    		
    		//获取rgb means  
    		for(row = 0; row < srcHeight; row++){
    			auto ptr = srcImg.ptr<uchar>(row);  
    			int tr = 0, tg = 0, tb = 0;
    			for(col = 0; col < srcWidth; col++){
    				tr =  ptr[2];
    				tg =  ptr[1];
    				tb =  ptr[0];
    				
    				redSum += tr;
    				greenSum += tg;
    				blueSum +=tb;
    				
    				ptr += 3;
    			}
    		}
    		rgbmeans[0] = (int)(redSum / total);
    		rgbmeans[1] = (int)(greenSum / total);
    		rgbmeans[2] = (int)(blueSum / total);
    
    		// 调整对比度
    		outImg = srcImg.clone();
    		for(row = 0; row < srcHeight; row++) {		
    			auto ptr = srcImg.ptr<uchar>(row);  		
    			auto qtr = outImg.ptr<uchar>(row);  
    			int tr = 0, tg = 0, tb = 0;
    			for(col = 0; col < srcWidth; col++) {
    				//获取r、g、b值
    				tr =  ptr[2];
    				tg =  ptr[1];
    				tb =  ptr[0];
    		        
    		      		 // 均值消减  
    		      		 tr -= rgbmeans[0];
    		       		 tg -= rgbmeans[1];
    		       		 tb -= rgbmeans[2];
    		        
    		        	// 对比度调整
    		      		 tr = (int)(tr * contrast);
    		       		 tg = (int)(tg * contrast);
    		    		tb = (int)(tb * contrast);
    		        
    	     			 //为目标输出图片赋值 
    				qtr[0] = clamp(tb);
    				qtr[1] = clamp(tg);
    				qtr[2] = clamp(tr);
    				
    				ptr += 3;
    				qtr += 3;
    			}
    	    }
    	
    	return nRet;
    }


    参考:C++ Mat 读取imagedata内的数据

     
    



    展开全文
  • 一、图片对比度和亮度调整 1、原理: f(row, col):原始图像的像素。 g(row, col):调整后图像的像素。 a(a>0:称为增益(gain),常常被用来控制图像的对比度,其取值范围一般为0.0-3.0 b:称为偏置(bias)...
    一、图片的对比度和亮度调整
    1、原理:
    • f(row, col):原始图像的像素。
    • g(row, col):调整后图像的像素。
    • a(a>0:称为增益(gain),常常被用来控制图像的对比度,其取值范围一般为0.0-3.0
    • b:称为偏置(bias),常常被用来控制图像的亮度。
    • g(row, col) = a*f(row, col) + b:随原始图像进行对比度亮度调节的公式。
    • new_img.at<Vec3b> (row, col)[c]:opencv访问图片每个像素的语法。
    • saturate_cast<uchar>():防止溢出。当运算完之后,结果为负,则转为0,结果超出255,则为255。
    2、C++ OpenCV核心代码:

    遍历原始图片的每一个像素,对R,G,B分别使用公式进行变换。

    void contrast_bright (int, void*)
    {
    	contrastValue_f = 0.1 * contrastValue; // 为了使滑动条调节的幅度变大,把 contrastValue值进行缩小。
    	for (int row = 0; row < img.rows; row++)
    	{
    		for (int col = 0; col < img.cols; col++)
    		{
    			for (int c = 0; c < 3; c++) {
    				new_img.at<Vec3b> (row, col)[c] = saturate_cast<uchar>(contrastValue_f * (img.at<Vec3b> (row, col)[c]) + brightValue);  // g(x,y) = af(x,y) + b; a 是对比度调节,b是亮度调节
    			}
    		}
    	}
    	imshow ("Effect Image", new_img);
    }
    
    二、图片的饱和度调整

    网上关于图片饱和度调整的算法很多,不知道选择哪一个。所以就都试一遍看看哪个效果好。这里,参考了:https://blog.csdn.net/u012198575/article/details/82985482 这篇文章提及的算法,算法思路写的比较清楚。

    1、Photoshop饱和度调整思想(我也不知道是不是PS的~~):
    1. 计算每个像素点关于RGB的最大值,最小值。
    2. 设 delta 为两值的差 / 255,value为两值的和 / 255。
    3. 两值之差 delta 为0不做操作,即跳过该像素点。否则,进行下面操作:
    4. 把RGB图像转换成HSL图像(Hue:色彩,Saturability:饱和度,Light:亮度)
    5. light = value / 2,如果 light < 0.5, sat = delta / value;否则: sat = delta / (2-value);
    6. 最后根据增量判断做怎么样的处理,将转换后的新的RGB值存到新图片内。
    2、C++核心代码:
    void saturability (int, void*)
    {
    	float increment = (saturation - 80) * 1.0 / max_increment;
    	for (int col = 0; col < img.cols; col++)
    	{
    		for (int row = 0; row < img.rows; row++)
    		{
    			// R,G,B 分别对应数组中下标的 2,1,0
    			uchar r = img.at<Vec3b> (row, col)[2];		
    			uchar g = img.at<Vec3b> (row, col)[1];
    			uchar b = img.at<Vec3b> (row, col)[0];
    
    			float maxn = max (r, max (g, b));
    			float minn = min (r, min (g, b));
    
    			float delta, value;
    			delta = (maxn - minn) / 255;
    			value = (maxn + minn) / 255;
    
    			float new_r, new_g, new_b;
    
    			if (delta == 0)		 // 差为 0 不做操作,保存原像素点
    			{
    				new_img.at<Vec3b> (row, col)[0] = new_b;
    				new_img.at<Vec3b> (row, col)[1] = new_g;
    				new_img.at<Vec3b> (row, col)[2] = new_r;
    				continue;
    			}
    
    			float light, sat, alpha;
    			light = value / 2;
    
    			if (light < 0.5)
    				sat = delta / value;
    			else
    				sat = delta / (2 - value);
    
    			if (increment >= 0)
    			{
    				if ((increment + sat) >= 1)
    					alpha = sat;
    				else
    				{
    					alpha = 1 - increment;
    				}
    				alpha = 1 / alpha - 1;
    				new_r = r + (r - light * 255) * alpha;
    				new_g = g + (g - light * 255) * alpha;
    				new_b = b + (b - light * 255) * alpha;
    			}
    			else
    			{
    				alpha = increment;
    				new_r = light * 255 + (r - light * 255) * (1 + alpha);
    				new_g = light * 255 + (g - light * 255) * (1 + alpha);
    				new_b = light * 255 + (b - light * 255) * (1 + alpha);
    			}
    			new_img.at<Vec3b> (row, col)[0] = new_b;
    			new_img.at<Vec3b> (row, col)[1] = new_g;
    			new_img.at<Vec3b> (row, col)[2] = new_r;
    		}
    	}
    	imshow ("Effect Image", new_img);
    }
    
    三、OpenCV实现的图片的对比度、亮度、饱和度完整代码
    #include<iostream>
    #include<algorithm>
    #include<opencv2/core/core.hpp>
    #include<opencv2/imgproc/imgproc.hpp>
    #include<opencv2/highgui/highgui.hpp>
    #include <opencv2\imgproc\types_c.h>
    
    using namespace std;
    using namespace cv;
    
    int contrastValue;	// 对比度值
    float contrastValue_f; // 实际使用的对比度值,对contrastValue进行的缩小处理
    int brightValue;   // 亮度值
    int saturation;	// 饱和度
    const int max_increment = 200;
    Mat img, new_img;	   //img:原始图像; new_img:最终要展示图像;
    
    void contrast_bright (int, void*);
    void saturability (int, void*);
    
    // 调整对比度和亮度
    void contrast_bright (int, void*)
    {
    	contrastValue_f = 0.1 * contrastValue;
    	for (int row = 0; row < img.rows; row++)
    	{
    		for (int col = 0; col < img.cols; col++)
    		{
    			for (int c = 0; c < 3; c++) {
    				new_img.at<Vec3b> (row, col)[c] = saturate_cast<uchar>(contrastValue_f * (img.at<Vec3b> (row, col)[c]) + brightValue);  // g(x,y) = af(x,y) + b; a 是对比度调节,b是亮度调节
    			}
    		}
    	}
    	imshow ("Effect Image", new_img);
    }
    
    //调整饱和度
    void saturability (int, void*)
    {
    	float increment = (saturation - 80) * 1.0 / max_increment;
    	for (int col = 0; col < img.cols; col++)
    	{
    		for (int row = 0; row < img.rows; row++)
    		{
    			// R,G,B 分别对应数组中下标的 2,1,0
    			uchar r = img.at<Vec3b> (row, col)[2];		
    			uchar g = img.at<Vec3b> (row, col)[1];
    			uchar b = img.at<Vec3b> (row, col)[0];
    
    			float maxn = max (r, max (g, b));
    			float minn = min (r, min (g, b));
    
    			float delta, value;
    			delta = (maxn - minn) / 255;
    			value = (maxn + minn) / 255;
    
    			float new_r, new_g, new_b;
    
    			if (delta == 0)		 // 差为 0 不做操作,保存原像素点
    			{
    				new_img.at<Vec3b> (row, col)[0] = new_b;
    				new_img.at<Vec3b> (row, col)[1] = new_g;
    				new_img.at<Vec3b> (row, col)[2] = new_r;
    				continue;
    			}
    
    			float light, sat, alpha;
    			light = value / 2;
    
    			if (light < 0.5)
    				sat = delta / value;
    			else
    				sat = delta / (2 - value);
    
    			if (increment >= 0)
    			{
    				if ((increment + sat) >= 1)
    					alpha = sat;
    				else
    				{
    					alpha = 1 - increment;
    				}
    				alpha = 1 / alpha - 1;
    				new_r = r + (r - light * 255) * alpha;
    				new_g = g + (g - light * 255) * alpha;
    				new_b = b + (b - light * 255) * alpha;
    			}
    			else
    			{
    				alpha = increment;
    				new_r = light * 255 + (r - light * 255) * (1 + alpha);
    				new_g = light * 255 + (g - light * 255) * (1 + alpha);
    				new_b = light * 255 + (b - light * 255) * (1 + alpha);
    			}
    			new_img.at<Vec3b> (row, col)[0] = new_b;
    			new_img.at<Vec3b> (row, col)[1] = new_g;
    			new_img.at<Vec3b> (row, col)[2] = new_r;
    		}
    	}
    	imshow ("Effect Image", new_img);
    }
    
    int main ()
    {
    	img = imread ("test.jpg");		// 加载图片,保存在 Mat 对象 img 中
    	new_img = Mat::zeros (img.size (), img.type ());    // 最终要展示结果的对象
    
    	contrastValue = 1;	//对比度初始值
    	brightValue = 1;	//亮度初始值
    	saturation = 10;	//饱和度初始值
    
    	namedWindow ("Effect Image", WINDOW_NORMAL);		// 创建效果图窗口
    
    	createTrackbar ("Contrast:", "Effect Image", &contrastValue, 100, contrast_bright);	// 创建对比度滑动条
    	createTrackbar ("Brightness:", "Effect Image", &brightValue, 200, contrast_bright);	// 创建亮度滑动条
    	createTrackbar ("Saturability:", "Effect Image", &saturation, 200, saturability); // 创建饱和度滑动条
    
    	// 函数回调,因为是全局变量,所以 userdata 为0
    	contrast_bright (contrastValue, 0);
    	contrast_bright (brightValue, 0);
    	saturability (saturation, 0);
    	
    	cv::waitKey (0);
    	return 0;
    }
    
    
    展开全文
  • python opencv调节图片亮度与对比度

    千次阅读 2019-10-10 09:57:19
    python opencv调节图片亮度与对比度 亮度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度。 创建两个滑动条分别调整对比度和亮度(对比度...
  • 灰度分统计法计算图像的对比度

    千次阅读 2019-01-11 21:44:10
    灰度分统计法计算图像的对比度插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式...
  • iOS 修改图片的亮度、对比度、饱和度
  • Sub '调节亮度和对比度() ' 调节亮度和对比度 宏 For i = 1 To ActiveDocument.InlineShapes.Count '0~1对应-100%~100%范围 ActiveDocument.InlineShapes(i).PictureFormat.Brightness = 0.275 '将嵌入型图片的...
  • 下面我们对这个图片来进行对比度和均衡度的调整,并用直方图展示像素点。来看一下效果。 代码如下: clear,clc,close all; f=imread('boy.jpg'); g=rgb2gray(f); fa=imadjust(g); %按默认参数处理对比度 fb=histeq...
  • opencv改变图片的亮度和对比度

    千次阅读 2019-05-20 10:36:58
    用这两个参数来分别控制 对比度 和 亮度 。 其中,α可以调整图像的对比度(>1对比度就增加,<1对比度减弱) β可以调整图像的亮度。 #include<opencv2/opencv.hpp> #include<iostream> using .....
  • matlab实现调整图片对比度

    千次阅读 2020-04-27 10:12:20
    %src为rgb图像,Contrast为调节的对比度值,调节范围为【-100,100】 function img = ContrastAdjust(src,Contrast) Image=double(src); R=Image(:,:,1); G=Image(:,:,2); B=Image(:,:,3); Average=127; %调整...
  • 图像对比度

    热门讨论 2013-02-03 16:29:05
    此 matlab 代码可以快速有效的进行图像对比度的计算
  • python-OpenCV图像处理,图像对比度调节源代码。
  • css修改图片对比度,饱和度,灰度

    千次阅读 2018-04-02 15:46:24
    var saturate = 100, contrast ...//saturate:饱和度(默认值100,越大越饱和),contrast:对比度(默认值100,越大越对比),grayscale:灰度(默认0,越大灰色程度比较深) function setImginfo(imgid) { $('#' +...
  • [开源]Qt图片调整之对比度调节

    千次阅读 2017-01-22 17:05:17
    QImage AdjustContrast(QImage Img, int iContrastValue) { int pixels = Img.width() * Img.height(); unsigned int *data = (unsigned int *)Img.bits(); int red, green, blue, nRed, nGreen, nBlu...
  • 关于图像对比度【4】对比度调整强度之前说了两种调整对比度调整的方法,线性变换和直方图均衡化,之前写的时候都是把对比度增强的效果发挥到极致,但是很高的对比度真的好吗?有时候,我们是不需要这么强的对比度的...
  • Opencv+Python 图片亮度和对比度

    万次阅读 2018-05-01 23:30:45
    调整亮度和对比度:import cv2 import numpy as np def contrast_demo(img1, c, b): # 亮度就是每个像素所有通道都加上b rows, cols, chunnel = img1.shape blank = np.zeros([rows, cols, chunnel], img1.dtype)...
  • 选项:亮度、对比度、高亮度、GAMMA校正、曲线、尺寸大小缩放、JPG压缩比、红蓝互换、加粗、左旋、右旋、颠倒、锐化、柔化、彩色漫画、黑白漫画、保持原样、256级、16级灰度、8级灰度、4级态度、自动色阶、自动对比...
  • 关于图像对比度【1】对比度和线性变换关于什么是对比度这事,不好用一个很明确很严谨的词来概括清楚。对比度高,画面看上去就很硬朗,对比度低,画面看上去就朦朦胧胧,比如下面这张图:对比度和颜色没有关系,...
  • 在做图片处理的时候,会遇到调节图片的饱和的问题,这里就要用到Core Image这个框架,Core Image是一个很强大的框架。它可以让你简单地应用各种滤镜来处理图像,比如修改鲜艳程度, 色泽, 或者曝光。它利用GPU...
  • OPENCV python修改图片对比度和亮度

    千次阅读 2019-07-15 20:06:36
    img1 = cv2.imread('add1.png')# (380, 308, 3) #读取图片1 img2 = cv2.imread('add2.png')# (380, 308, 3) #读取图片2 dst = cv2.addWeighted(img1, 0.7, img2, 0.3, 0) # 第一幅图的权重是 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 110,584
精华内容 44,233
关键字:

对比度差的图片