Photoshop图像处理算法实现—明度调整

前言:之前在公司做项目的用到photoshop颜色空间的一些相关方法,在此总结一下。下面原理部分是从我的总结文档里截取来的。需要复制的童鞋自己手写一下~

2、程序部分

1)Matlab实验程序。

clc;clear;close all;
Image=imread('IMG_0950_cut.jpg');
figure(1);
imshow(Image);

R=double(Image(:,:,1));
G=double(Image(:,:,2));
B=double(Image(:,:,3));

%输入调整参数value [-100,100]之间,与photoshop一致
value=-50;

%放缩到[-255,255]之间  对应物理意义的
value=value*255/100;

if(value>=0)
    R = R + (255 - R) * value / 255;
    G = G + (255 - G) * value / 255;
    B = B + (255 - B) * value / 255;
else
    R = R + R * value / 255;
    G = G + G * value / 255;
    B = B + B * value / 255;
end

img(:,:,1)=uint8(R);
img(:,:,2)=uint8(G);
img(:,:,3)=uint8(B);
figure(2);
imshow(img);

2)C程序,此处只贴上关键处理部分,已经把图像变成了数组来处理。

void BrightAdjustRGB(unsigned char *pSrc, unsigned char *pDest, int nWidth, int nHeight,int nParameter)
{

	//参数范围有效性判断
	if (nParameter < -100 || nParameter > 100)
	    return;

	//局部变量声明
	int i = 0;
	int t = 0;

	int nLength = nWidth * nHeight;

	//缩放明度调整参数
	nParameter = nParameter * 255 / 100;

	//得到结果
	if(nParameter >= 0)
	{
    	for (i = 0; i < nLength; i++)
    	{
	       t = i * 3;

		    pDest[t] = pSrc[t] + (255 - pSrc[t]) * nParameter / 255;
	    	pDest[t + 1] = pSrc[t + 1]+(255 - pSrc[t + 1]) * nParameter / 255;
	     	pDest[t + 2] = pSrc[t + 2]+(255 - pSrc[t + 2]) * nParameter / 255;
	     }
	}
	else
	{
	    for (i = 0; i < nLength; i++)
    	{
	        t = i * 3;

		    pDest[t] = pSrc[t] + pSrc[t] * nParameter / 255;
	    	pDest[t + 1] = pSrc[t + 1] + pSrc[t + 1] * nParameter / 255;
	     	pDest[t + 2] = pSrc[t + 2] + pSrc[t + 2] * nParameter / 255;
	     }
	}

}

3、实验结果,与photoshop处理结果一致

图1  原图

图2 参数为-50结果

图3  参数为50结果

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-09 23:55:10

Photoshop图像处理算法实现—明度调整的相关文章

Photoshop图像处理算法—饱和度调整

前言:之前在公司做项目的用到photoshop颜色空间的一些相关方法,在此总结一下.下面原理部分是从我的总结文档里截取来的.需要复制的童鞋自己手写一下~ 2.程序部分 1)Matlab实验程序. <span style="font-size:18px;">clc;clear all;close all; Image=imread('Fotor_LomoOrg.bmp'); Image=double(Image); R=Image(:,:,1); G=Image(:,:,2)

Photoshop图像处理算法—色阶调整

前言:之前在公司做项目的用到photoshop颜色空间的一些相关方法,在此总结一下.下面原理部分是从我的总结文档里截取来的.需要复制的童鞋自己手写一下~ 2.程序部分 1)Matlab实验程序. clc;clear;close all; Image=imread('Fotor_LomoOrg.bmp'); figure(1); imshow(Image); R=double(Image(:,:,1)); G=double(Image(:,:,2)); B=double(Image(:,:,3))

Photoshop图像处理算法—对比度调整(老版功能)

前言:之前在公司做项目的用到photoshop颜色空间的一些相关方法,在此总结一下.下面原理部分是从我的总结文档里截取来的.需要复制的童鞋自己手写一下~ 2.程序部分 1)Matlab实验程序 <span style="font-size:18px;">clc;clear;close all; Image=imread('Fotor_LomoOrg.bmp'); figure(1); imshow(Image); Image=double(Image); R=Image(:

PhotoShop 图像处理 算法 汇总

不定期更新 ...... 直接点标题即可链接到原文. 图层混合算法: PS图层混合算法之一(不透明度,正片叠底,颜色加深,颜色减淡) PS图层混合算法之二(线性加深,线性减淡,变亮,变暗) PS图层混合算法之三(滤色, 叠加, 柔光, 强光) PS图层混合算法之四(亮光, 点光, 线性光, 实色混合) PS图层混合算法之五(饱和度,色相,颜色,亮度) PS图层混合算法之六(差值,溶解, 排除) 图像调整算法: 色彩转换--RGB & HSV 色彩转换--RGB & HSL 色彩转换--RG

Photoshop图像处理算法—自动对比度和自动色调(自动色阶)

1.原理部分 2.程序部分(matlab)  自动色调 clc;clear;close all; img=imread('IMG_0950_cut.jpg'); Image=double(img)/255; figure(1); imshow(Image); %% R=Image(:,:,1); G=Image(:,:,2); B=Image(:,:,3); percent=0.001; %% Image_out(:,:,1)=Auto_Tune(R, percent); Image_out(:

用OpenCV实现Photoshop算法(三): 曲线调整

http://blog.csdn.net/c80486/article/details/52499919 系列文章: 用OpenCV实现Photoshop算法(一): 图像旋转 用OpenCV实现Photoshop算法(二): 图像剪切 用OpenCV实现Photoshop算法(三): 曲线调整 用OpenCV实现Photoshop算法(四): 色阶调整 用OpenCV实现Photoshop算法(五): 亮度对比度调整 用OpenCV实现Photoshop算法(六): 变为黑白图像 用OpenC

图像处理算法交流群群规和近期福利活动

作为一名资深的图像处理算法业余爱好者,为了方便同道中人交流学习,我特别建立了一个QQ群(群号:529549320),出于新人培训之目的,也为了免去我每次都重复群规之繁琐,更为了方便群活动之开展特借CSDN宝地发此贴,以做一劳永逸之举. 关于入群资质: 1)无论你是大神还是小白,我们都欢迎: 2)无论你是业界专家还是在校学子,我们都欢迎: 3)无论你是专业精英还是业余爱好者,我们都欢迎. 总之,"是故无贵无贱,无长无少,道之所存,师之所存也". 但是,为了防止你因为不慎而加错群,我们特别

有趣的图像处理算法

在研究的过程中,有时候会碰到很多有意思的图像处理算法,算法极具新意,并且能够产生非常有意思的结果. 算法简介 1.图像镶嵌 图像镶嵌也叫图像混合(Image Blending).图像剪接(Image Editing),是通过特定的图像处理方法将本来毫无关系的两幅图无缝剪辑到一起,并能够很好地融合两者之间的剪接处,产生以假乱真的效果,不信我们就来看看. 上图左边的手和嘴巴在两幅不同的图中,只要给定一个模板,就可以把一幅图中模板指定的部分无缝拼接到另外一幅图中去,从右边的结果来看是不是看上去毫无违和

由Photoshop高反差保留算法原理联想到的一些图像增强算法。

原地址:http://blog.csdn.net/laviewpbt/article/details/20577683 关于高反差保留的用处说明呢,从百度里复制了一段文字,我觉得写得蛮好的: 高反差保留就是保留图像的高反差部分,再说得真白些,就是保留图像上像素与周围反差比较大的部分,其它的部分都变为灰色.拿一个人物照片来举例,反差比较大的部分有人的眼睛,嘴,以及身体轮廓.如果执行了就反差保留,这些信息将留下来(与灰色形成鲜明对比).它的主要作用就是加强图像中高反差部分.还以人物照片为例子,一般为