急需要delphi图形图象高手帮忙 ( 积分: 1 )

  • 主题发起人 主题发起人 sohoman
  • 开始时间 开始时间
S

sohoman

Unregistered / Unconfirmed
GUEST, unregistred user!
需求:
1、对扫描的图片进行旋转缩放等纠正
2、对扫描的图片进行按矩形分割
3、对分割的小块进行按图像特征相似归类
有此方面的DELPHI高手,请联系QQ:569146064,注明“delphi"
 
兄弟们,高手们,怎么不来啊!虽然给是一分,但会给真金白银的(当然是换成元为单位的)
 
这个有点高难啊
 
对图片旋转、缩放、分割、亮度调节等都不难,我做过。按相似特征归类比较难,不知道你要按怎样的相似特征归类,相似程度如何。
 
兄弟们,联系QQ啊,图像相似归类,如果太烦,可以不考虑这步,(因为这步我们做过,其实并不像想像的这么难,只是我表达不清楚,兄弟们见笑了!)
 
先给你一段旋转90度的代码看一下,旋转任意角度的我就不在这里提供了。
Form1上面有一个image1控件,BitBtn1控件,双击BitBtn1添加以下代码:
procedure TForm1.BitBtn1Click(Sender: TObject);
var //C : TColor;
i, j : integer;
W, H : Word;
Bitmp : TBitmap;
SBuffer : pointer;
DBuffer : pointer;
Ps, PD : Pointer;
Pt : int64;
begin

Bitmp := TBitmap.Create;
Bitmp.PixelFormat := pf24bit;
Bitmp.Width := Image1.Picture.Width;
Bitmp.Height := Image1.Picture.Height;
Bitmp.Canvas.Draw(0,0,Image1.Picture.Graphic);
Getmem(SBuffer, Bitmp.Width * Bitmp.Height * 3);
Getmem(DBuffer, Bitmp.Width * Bitmp.Height * 3);
W := Bitmp.Width;
H := Bitmp.Height;

GetBitmapBits(Bitmp.Handle, W * H * 3, SBuffer);

Pd := DBuffer;
for i := 0 to W - 1 do
begin
Pt := int64(SBuffer) + i * 3 ;
for j := 0 to H - 1 do
begin
Ps := Pointer(Pt + (H - 1 - j)* W * 3);
CopyMemory(Pd, Ps, 3);
Pd := Pointer(int64(Pd) + 3);
end;
end;

Bitmp.Width := H;
Bitmp.Height := W;
SetBitmapBits(Bitmp.Handle, W * H * 3, DBuffer );
Image1.Picture.Assign(Bitmp);
freemem(SBuffer);
freemem(DBuffer);
Bitmp.Free;
end;
 
兄弟们,再次表达一下,并降低要求,呵呵
图如http://www.pomo.cn/showpic.asp?url=http://img.photo.163.com/FcRETvv6YNNjHMXsCyvhlQ==/118219490220474317.gif
要求就是将这个图分成一个一个的小方块图,分图的方法就是按横竖线,旋转缩放相似等都不管了。谢谢,会者加我QQ哦!方便及时交流!
 
看你上面的图,怎么看怎么像寻路算法里面的图
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部