【问题标题】:Size of Greyscale vs B&W image (.jpg)灰度与黑白图像的大小 (.jpg)
【发布时间】:2018-02-10 13:05:02
【问题描述】:

在 MATLAB 中,将 1 分配给强度 >127 的每个像素,否则将 0 分配给“.jpg”格式的灰度图像,文件的整体大小正在增加。

谁能解释一下这是什么原因。

这两个文件都有以下详细信息:

灰度图像:93KB;黑白图像:118KB。

格式:jpg

编码方法:霍夫曼

编码过程:顺序

位深:8

【问题讨论】:

  • 了解 jpg 压缩的工作原理
  • 您能解释一下灰度和黑白图像压缩之间的主要区别吗?
  • 压缩算法没有区别,但任何压缩算法的本质都是尽可能压缩。不管具体如何,这是一个你无法控制的想法。虽然它是一个微小的差异,但不知道为什么它对你很重要。此外,jpg 是一种不好的格式(因为压缩),不能用来做任何科学
  • 这取决于您如何尝试对二进制数据进行编码以进行压缩。 JPEG 没有二进制图像的特殊模式。你提到的这个霍夫曼的事情是什么?这是实际代码有用的地方:很高兴知道您实际做了什么,而不是您在此处描述的您所做的。 (我知道霍夫曼编码是什么,我想知道为什么在这里提到它。)
  • 清除所有; img = rgb2gray(imread('Team_7.PNG')); x=img>=127; imwrite(x,'DFTBA_B_W.jpg'); info=imfinfo('DFTBA_B_W.jpg'); imwrite(img,'DFTBA_GS.jpg'); info2=imfinfo('DFTBA_GS.jpg');

标签: image matlab image-processing compression grayscale


【解决方案1】:

我看不出它发生的任何原因,只是看看你的问题。 我试了一下

im = imread('greens.jpg');
im = rgb2gray(im);
im2 = im>127;

% check dimensions
imb = whos('im');
im2b = whos('im2');
fprintf('grey: %f\n b/w: %f\n', imb.bytes, im2b.bytes)

两者的输出都是 150000b。

建议:检查matlab工作空间中的变量维度,而不是文件本身,如果它们相同,则可能差异在于保存文件时的压缩算法。

【讨论】:

  • 它的 jpg 压缩是什么原因造成的
猜你喜欢
  • 2013-04-21
  • 1970-01-01
  • 2018-01-05
  • 1970-01-01
  • 2021-11-10
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
  • 2012-04-24
相关资源
最近更新 更多