如何从一张图片中截取指定的部位(100分)

  • 主题发起人 主题发起人 edren
  • 开始时间 开始时间
E

edren

Unregistered / Unconfirmed
GUEST, unregistred user!
比如白度的首页我把他拍成张图片,我要截取百度的百字,如何在程序里指定这个位置
var
FullScreen,mp1:TBitmap;
FullScreenCanvas:TCanvas;
MyRect, MyOther: TRect;
l,h:integer;
begin
MyRect := Rect(10,10,100,100);//建立并设置长方形的边长
MyOther := Rect(10,111,100, 401); //建立并设置长方形的边长
FullScreen:=TBitmap.Create;
FullScreen.LoadFromFile('c:/page1.bmp');
image1.Canvas.BrushCopy(MyRect, FullScreen, MyRect, clred);
image1.Canvas.CopyRect(MyOther,FullScreen.Canvas,MyRect);
image1.Picture.SaveToFile('c:/b.bmp');
FullScreen.Free;
end;
 
MyRect := Rect(10,10,100,100);//建立并设置长方形的边长
MyOther := Rect(10,111,100, 401);

这里面的数字分别代表什么,我怎么指定这个位置,应该修改哪个数据
 
老兄,这涉及到图形识别啊,不是那么简单滴[:)]
 
我的意思是如何设定以下几个数字,他们分别代表了什么,要怎么手动事先得到这些坐标位置
MyRect := Rect(10,10,100,100);
MyOther := Rect(10,111,100, 401);
 
不会吧,楼主刚学编程的? Rect 的参数可以按F1查的啊。
Rect(Left, Top, Right, Bottom);
或者是我又理解错了?晕。。。
 
这些帮助我也看了,但是实际中我总设置不好这几个数据
 
呃,这个不就好办了,建议你买本Delphi基础的书看起吧,Rect可是再基本不过的函数了啊。
 
帮我设置一下百度的百字,我想看看你是怎么调整这些参数的,我老调不好
 
这个做可能还麻烦,你先大体确定下位置,然后取你获取的那块的灰度直方图 根据象素的分布就可以,确定各个字的宽度然后各个分离,以前做过数字识别大概就这样做的
 
来自:xifengge, 时间:2008-2-24 0:19:14, ID:3874825
老兄,这涉及到图形识别啊,不是那么简单滴

xifengge说的对啊。。你怎么确定百度两字的位置啊。。
 
http://www.chinaocr.net/

好像是要用到OCR技术吧
 
后退
顶部