计算图像亮度
2017-06-26 21:01
369 查看
1.得到图片RGB分量,用imread函数,确保图片是彩色的,灰度图像只有两维,例如
x=imread('路径\图片名.格式','格式')
格式有bmp,jpg,gif,tif,png等
一组图片的话可以一个一个读,也可以循环的,但循环读的话,请把图片名设置成连续名称,放在统一路径下,如图片1,图片2。。。,格式也是一样的才行。循环具体做法:
path=‘路径\’;
for i=1:N %N为图片个数
filename=[‘图片名’,num2str(i),'.格式'];
x{i}=imread([path,filename],'格式');
end
2.求图片亮度均值,先用你下的函数把图像转到HSL空间,然后两次mean求均值。
[h,s,l]=rgb2hsl(x);
avg=mean(mean(l));
3.求一组图片亮度均值,循环转换,并求均值,然后对亮度均值矩阵再求均值,即可得到一组图片亮度均值
for i=1:N
[h{i},s{i},l{i}]=rgb2hsl(x{i});
avg(i)=mean(mean(l{i}));
end
avg_all=mean(avg);
4.用循环修正所有图片的亮度,然后把超过上限的亮度设置为上限即可,这个可以用find函数。最后把图片转换回RGB空间
for i=1:N
l{i}=l{i}*avg_all/avg(i);
l{i}(find(l{i}>255))=255;
y{i}=hsl2rgb(h{i},s{i},l{i});
end
y就是你要的亮度修改过的,并转回rgb空间的那组图片。
图片保存,用imwrite函数,例如
imwrite(y{i},'路径\图片名.格式','格式');
x=imread('路径\图片名.格式','格式')
格式有bmp,jpg,gif,tif,png等
一组图片的话可以一个一个读,也可以循环的,但循环读的话,请把图片名设置成连续名称,放在统一路径下,如图片1,图片2。。。,格式也是一样的才行。循环具体做法:
path=‘路径\’;
for i=1:N %N为图片个数
filename=[‘图片名’,num2str(i),'.格式'];
x{i}=imread([path,filename],'格式');
end
2.求图片亮度均值,先用你下的函数把图像转到HSL空间,然后两次mean求均值。
[h,s,l]=rgb2hsl(x);
avg=mean(mean(l));
3.求一组图片亮度均值,循环转换,并求均值,然后对亮度均值矩阵再求均值,即可得到一组图片亮度均值
for i=1:N
[h{i},s{i},l{i}]=rgb2hsl(x{i});
avg(i)=mean(mean(l{i}));
end
avg_all=mean(avg);
4.用循环修正所有图片的亮度,然后把超过上限的亮度设置为上限即可,这个可以用find函数。最后把图片转换回RGB空间
for i=1:N
l{i}=l{i}*avg_all/avg(i);
l{i}(find(l{i}>255))=255;
y{i}=hsl2rgb(h{i},s{i},l{i});
end
y就是你要的亮度修改过的,并转回rgb空间的那组图片。
图片保存,用imwrite函数,例如
imwrite(y{i},'路径\图片名.格式','格式');
相关文章推荐
- 图像亮度计算公式
- 【图像处理】二值图像连通域标记-基于行程的标记方法-计算目标中心位置方法1
- 图像信息熵计算的OpenCV代码
- TensorFlow学习--tensorflow图像处理--随机调整亮度/对比度/饱和度/色相
- 3D输电高架走向及挂点计算(论文总结,图像图形学报)
- 图像平均亮度公式
- Python: PS 图像调整--亮度调整
- 原创]基于CUDA的图像亮度直方图统计 转载
- matrix 图像处理与分析 PS 色调 饱和度 亮度
- 数字图像的梯度概念以及计算(the gradient of the image)
- win7 caffe使用笔记——计算图像均值
- graycomatrix 计算(图像)灰度共生矩阵(CLCM)
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- opencv学习(十)之调节图像亮度和对比度
- 图像处理之计算二值连通区域的质心
- 图像处理------调整亮度与饱和度
- OpenCV学习——图像亮度、对比度调节
- 【C#】图像梯度计算
- 图像相似度计算