【问题标题】:Auto-brightening images自动增亮图像
【发布时间】:2019-05-27 23:52:58
【问题描述】:

我发现此代码可将图像自动变亮至最佳水平。

% AUTOBRIGHTNESS  
%        -->Automatically adjusts brightness of images to optimum level.
%    e.g. autobrightness('Sunset.jpg','Output.jpg')

function autobrightness(input_img,output_img)
my_limit = 0.5;
input_image=imread(input_img);
if size(input_image,3)==3 
    a=rgb2ntsc(input_image);
else     
    a=double(input_image)./255;
end
mean_adjustment = my_limit-mean(mean(a(:,:,1)));
a(:,:,1) = a(:,:,1) + mean_adjustment*(1-a(:,:,1));
if size(input_image,3)==3    
    a=ntsc2rgb(a);
end
imwrite(uint8(a.*255),output_img);
  1. 我想问,为什么my_limit的值是0.5?
  2. 我们如何确定该值?
  3. 为什么使用“ntsc”色彩空间而不是其他色彩空间,如 hsv、lab 或 yCbCr?

【问题讨论】:

  • 这些是你应该问代码作者的事情。我同意你的观点,NTSC(“Never The Same Color”)是一个奇怪的选择。

标签: image matlab image-processing rgb brightness


【解决方案1】:

我想问,为什么my_limit的值是0.5?我们如何确定 价值?

色彩空间 NTSC 的每个通道的范围从 0 到 1。所以基本上 0.5 是中心。这相当于为 RGB 空间选择 127

为什么要使用“ntsc”色彩空间而不是像 hsv 这样的其他色彩空间, 实验室还是 yCbCr?

我相信 ntsc 提供了 100% 的色彩空间覆盖率,因此代码作者选择了它。然而,大多数现代系统不会在这种颜色空间中显示,因此我们使用标准 RGB 进行显示。我用这个网站得出这个结论NTSC color space

此外,正如 Cris 在此 wikipedia 页面中指出的那样。 NTSC 存储亮度和色度,代码作者正在调整亮度(亮度)。我包含了一个我用来得出这些结论的修改过的脚本

input_img='lena_std.tif'
output_img='lena2.tif'
my_limit = 0.5;
input_image=imread(input_img);
if size(input_image,3)==3 
    a=rgb2ntsc(input_image);
    k=rgb2ntsc(input_image);
else     
    a=double(input_image)./255;
end
mean_adjustment = my_limit-mean(mean(a(:,:,1)));
a(:,:,1) = a(:,:,1) + mean_adjustment*(1-a(:,:,1));
if size(input_image,3)==3    
    a=ntsc2rgb(a);
end
imwrite(uint8(a.*255),output_img);
output=uint8(a.*255);
imwrite(uint8(k.*255),'test.tif');
ntscoutput=uint8(k.*255);

【讨论】:

  • 我根据您建议的维基百科部分修改了答案。谢谢。
  • 这段代码是什么意思?大小(input_image,3)==3 ?
  • 它确保图像每个像素具有三个分量,这在 NTSC 的情况下是正确的
  • 示例:luminance_mean = 0,06; 0,109; 0,196; 0,322; 0,483。我希望所有图像的亮度平均值为 0,196。
  • 我尝试更改 my_limit = 0.196,但它不起作用。你能帮帮我吗?
猜你喜欢
  • 2013-08-15
  • 1970-01-01
  • 2012-12-21
  • 2017-10-18
  • 1970-01-01
  • 1970-01-01
  • 2018-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多