delphi图像分割

更多图像处理文章:http://www.cnblogs.com/diewcs/archive/2010/09/28/1837900.html

delphi图像分割 
//预定义 
var//在此之前可用const定义常量 
//定义图像绘制序列 
Pic:array[1..16]ofbyte=(2,2,2,3,3,3,4,4,5,4,5,4,9,10,10,11); 
//定义 
基层图像与临时图像 
FormBmp,TempBmp:TBitmap; 
//定义点 
P,PX,PY:integer; 
//定义区域 
R1,R2:TRect; 
//初始化 
var 
width,height:integer;//设置图像中纵横图素的数量 
begin 
width:=需要的横向图素数量; 
Height:=需要的纵向图素数量; 
Formbmp:=TBitmap.Create; 
formbmp.LoadFromFile(GetCurrentDir+'/文件名');//载入图像 
Tempbmp:=Tbitmap.Create; 
tempbmp.Width:=width*8;//设置临时图像的宽度与高度 
tempbmp.Height:=height*8; 
end; 
//图像操作 
var 
x,y:integer; 
begin 
tempbmp.Canvas.CopyMode:=cmSrcCopy;//设置复制模式 
fory:=0to原图板纵向图素数量-1do 
begin 
forx:=0to原图板横向图素数量-1do 
begin 
P:=pic[y*横向图素数量+x];//从图像序列中取点 
ifp<>0then 
begin 
px:=(pmod面板图素横向图素个数)*单个图素宽度; 
py:=(pdiv面板图素横向图素个数)*单个图素高度; 
r1:=rect(px,py,px+单个图素宽度,py+单个图素高度); 
r2:=rect(x*单个图素宽度,y*单个图素高度,x*单个图素宽度+单个图素宽度,y*单个图素高度+单个图素高度); 
tempbmp.Canvas.CopyRect(r2,formbmp.Canvas,r1); 
//从原图板FormBmp中取出r1区域的图素并将其复制到r2区域 
end; 
end; 
form1.Canvas.CopyMode:=cmSrcCopy; 
form1.Canvas.Draw(0,0,tempbmp);//将临时图像显示到屏幕 
end; 
end; 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值