金 金少 Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-15 #1 静态Tbitmap图像中可以通过LUT表即灰度查找表得到灰度变换处理后的特殊效果吗? 如何实现?
A amakusa Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-15 #2 得到灰度图象不用查表这么麻烦吧 哥们你上个贴子我答对了 你还没结哦
H huazai Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-15 #3 就是啊,上次还没有结呢,用scanline作灰度处理:自己稍微改改! procedure TMainForm.GraychangeClick(Sender: TObject); var p: PByteArray; x, y: Integer; Bmp: TBitmap; Gray: byte; begin Bmp := TBitmap.Create; Bmp.Assign(ChildForm.Image1.Picture.Bitmap); Bmp.PixelFormat := pf24Bit; for y := 0 to Bmp.Height - 1 do begin p := Bmp.scanline[y]; for x := 0 to Bmp.Width - 1 do begin Gray := Round(p[x * 3 + 2] * 0.3 + p[x * 3 + 1] * 0.59 + p[x * 3] * 0.11); p[x * 3] := Gray; p[x * 3 + 1] := Gray; p[x * 3 + 2] := Gray; end; end; bmp.free; end.
就是啊,上次还没有结呢,用scanline作灰度处理:自己稍微改改! procedure TMainForm.GraychangeClick(Sender: TObject); var p: PByteArray; x, y: Integer; Bmp: TBitmap; Gray: byte; begin Bmp := TBitmap.Create; Bmp.Assign(ChildForm.Image1.Picture.Bitmap); Bmp.PixelFormat := pf24Bit; for y := 0 to Bmp.Height - 1 do begin p := Bmp.scanline[y]; for x := 0 to Bmp.Width - 1 do begin Gray := Round(p[x * 3 + 2] * 0.3 + p[x * 3 + 1] * 0.59 + p[x * 3] * 0.11); p[x * 3] := Gray; p[x * 3 + 1] := Gray; p[x * 3 + 2] := Gray; end; end; bmp.free; end.
金 金少 Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-16 #4 不知是我没说明白, 还是其它什幺原因, LUT表可以解释成用户自定义一组数组 而静态图像通过LUT表产生的特殊效果, 而我也能理解到这!, 类似于伪彩!
金 金少 Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-16 #5 不知是我没说明白, 还是其它什幺原因, LUT表可以解释成用户自定义一组数组 而静态图像通过LUT表产生的特殊效果, 而我也能理解到这!, 类似于伪彩!