转载或引用请注明出处:https://blog.csdn.net/tsj_1996/article/details/80089391
在做关于人脸识别方面的毕业设计的时候,采集了大量图片。但是为了保证识别的精确度,想使图片具有不同的亮度。下面是代码:
ImaName = '1.jpg'; %图片的位置要在 MATLAB 的Current Folder 下
BrightFactor = 2.0; %可以通过改变亮度因子来改变图片亮度
Ima = imread( ImaName ); %读取一副名为 1 ,格式为jpg的图片
subplot( 1 , 2 , 1 );
imshow( Ima );
title( '原始图片' , 'FontWeight' , 'bold' , 'Fontsize' , 16 , 'color' , 'black' );
Ima_hsv = rgb2hsv( Ima ); %图片的颜色空间转换
Ima_hsv( : , : , 3 ) = Ima_hsv( : , : , 3 ) * BrightFactor;
Ima_2 = hsv2rgb( Ima_hsv ); % hsv => rgb
subplot( 1 , 2 , 2 );
imshow( Ima_2 );
title( '改变亮度后图片' , 'FontWeight' , 'bold' , 'Fontsize' , 16 , 'color' , 'black' );
上面的代码测试可行。
NOTE: 上面代码的第八行是关键,这样处理的速度比对图片扫描单个像素处理的结果快。
注意:原始图片的位置要放到 MATLAB 的Current Folder 下。
参考资料:https://blog.csdn.net/htltju/article/details/78755122