如何对图象内容进行自动分割?(100分)

  • 主题发起人 主题发起人 jxl
  • 开始时间 开始时间
自动??? 不用写代码?
 
一点提示,希望能帮你的忙:
var
R: TRect;
Src, Dst: TBitmap;
begin
R := Rect(20, 20, 100, 100); // R可以设为所需的值
Src := TBitmap.Create;
Dst := TBitmap.Create;
Src.LoadFromFile(SrcFile); // SrcFile是源文件名
Dst.Assign(Src);
with Dst do
begin
Width := R.Right - R.Left;
Height := R.Bottom - R.Top;
Canvas.CopyRect(Canvas.ClipRect, Src.Canvas, R);
end;
Dst.SaveToFile(DstFile); // DstFile是目标文件名
Dst.Free;
Src.Free;
end;
这段代码能将SrcFile图象文件中由变量R定义的那部分保存到DstFile中,
如果要分割图象内容的话,只需改变R即可。
 

如果要分割规则的图像,比如是正方形等已知形状,用CopyRect函数等就可以了;

如果要做图像分割来识别不同的部分,建议你用高级算法,比如:最小距离分类法,
贝页斯分类,k-mean算法等等。这些涉及到图像分析,模式识别等等,好像做成全自动的不太可能,而且没有现成通用的程序甚至算法。

如果你要用手动描取轮廓的方法来分割图像,先记录下轮廓曲线,然后用扫描的办法把目标区域拷贝到另一个文件中。

总之,不知道你要怎样分割图像以及分割精度如何,只能笼统的说一下。有什么具体的想法,可以讨论讨论。
 
不知道要分割的是什么样的图象,对于医学图象来说,分割是一个
不适定问题,不可能存在一种完全自动的分割方法,人工干预是不可
避免的,所以对医学图象来说,问题就在于如何减少干预及如何有效
干预,有人提出一种基于神经网络的分割方法比较好地解决了这个问题,
你可以查些资料。
随便说说,希望对你有用!
 
这个控件早就有了,是VB带的, 名叫Microsoft PictureClip Control 6.0,
文件名为PicClp32.ocx。可以将一幅位图分割成m*n个大小相等的小图.
 
我也在做医学图象处理,不知哪里有集中点对这方面
讨论的地方。
 
?参考资料
 
分割有好多种,例如医学中DNA,染色体的分割简单些,彩色的病里图象等就要用到文理
,神经网络等算法了,要实现完全自动是不可能的.
 
多人接受答案了。
 
后退
顶部