一个有趣的难题(25分)

  • 主题发起人 主题发起人 cuiax
  • 开始时间 开始时间
C

cuiax

Unregistered / Unconfirmed
GUEST, unregistred user!
由于对黑白图像按比例缩放的缩略图,效果不好,看起来惨不忍睹,象芝麻饼一样。
而许多看图软件,如ACDSEE在显示黑白图像的缩略图时,实际采用的是以灰度方式显示
缩略图的,我不知道它是怎么把一个原本是黑白的图像,以灰度方式显示的缩略图。
而且速度也挺快,各位高手,能帮个忙吗?
——— bladeinco@citiz.net
 
我有这方面的一个例子,要吗?
 
要啊,您可真是雪中送炭啊。
这是我的EMIAL:BLADEINCO@CITIZ.NET
 
平衡算法,简单的实现有效范围像素灰度算术平均就可以
 
尊敬的www,我要,我要。
 
Please mail to me : defox@263.net
Thank u!
 
WWW先生,您还在论坛上吗?
我时刻期盼着你的例子。
 
不知可否……
eagleboost@21cn.com
 
我也要﹗謝謝﹗
 
WWW我只有这么点分数了,求求你,行行好吧?
 
我是菜鸟。不过我觉得应该可以的,以前见过一些下抽样的方法,用周围一堆点的值
来计算当前点的值。再不行了也可以考虑FFT,DCT变换,滤掉一些高频。
(菜鸟胡说,大家别信)
 
好说,好说。。。
 
我有转换灰度图的程序:
--------------------------------------------------------------------------
<font color=green><i>//转换成灰度图</i></font>
<b>procedure</b> TForm1.ToGray(abmp:TBitmap; rx,gx,bx,xx:integer);
<b>var</b>
i,j:integer;
p:pchar;
c:byte;
<b>begin</b>
abmp.HandleType := bmDIB;
abmp.PixelFormat := pf24bit;
for i:=0 to abmp.Height-1 do
begin
p := abmp.ScanLine;
for j:=1 to abmp.Width do
begin
c := (integer(p^)*rx+integer((p+1)^)*gx+integer((p+2)^)*bx) div xx;
if (c>=255) then c := 255;
p^ := chr(c); <font color=green><i>//</i></font>
(p+1)^ := chr(c); <font color=green><i>//</i></font>
(p+2)^ := chr(c); <font color=green><i>//R=G=B</i></font>
inc(p,3);
end;
end;
<b>end</b>;
 
黑白图(BIN图)是把其中的“灰部”忽略了,
 
cat.yy,你的是把彩色图变成灰度图。他要的是黑白图的缩放。
黑白图是用黑、白两种颜色,通过抖动产生各种灰度的。现在要解决的是缩放的时候
抖动的影响的问题。
 
局部面积像素比重统计并还原为灰度。
 
cuiax:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
图像处理的书上有现成的算法。那本国外翻译的书,很好的。
 
WWW:
Please mail to me : jitao@gzsums.edu.cn
Thank u!
 
多人接受答案了。
 
后退
顶部