C++简单几何图形的识别和编辑系统设计+PPT演示 第7页
第三节 主程序实现
第四节 系统功能介绍
1.识别部分
(1).基于霍夫变换下的识别
启动recognize.exe
File->open 打开要识别的bmp文件
Hough Trans->ling recognize得到识别出的直线的霍夫变换图,图中的每个亮点代表一条直线;
识别的圆的概率圆,在下面的Edit控件中是你想要显示的圆的直径,输入后点display后就可以看到霍夫变换的结果
注:由于霍夫变换是一个三维的循环,消耗内存较多,速度较慢,所以图像的原图的大小直接影响到速度。
下面是几幅图象的实验结果:
图4.1 只含有直线的bpm文件
图4.2 图4.1的Hough Trans->line recognize的结果
再如另一个例子:
图4.3
图4.4 对上图显示直径为30 图4.5 对上图显示直径为60
(2). 基于分区-联合下的识别
1、2步如上
3,Segment->step1:Segmentize将整幅图像分区的结果
4,Segment->step2:Segment recognize识别分区后的各个部分
5,Segment->step3:recognize shape 对step2的结果进行整体识别,得到我们想要的结果
6,Segment->step1-3:Segment recognize 如果不想看实现的过程只想得到结果时执行此操作
下面用几个例子来说明
图4.1的识别过程
图4.6 图4.1的Segment结果(第一步)
图4.7 图4.1的Segment recognize结果(第二步)
图4.8 对上图recognize shape的结果
图4.8也是step1-3的结果。在form右边的Edit Box中是识别出的图元的相关信息:
直线时的A,B,C分别是方程Ax+By+C=0中的系数;
圆的时候,X,Y是圆心的坐标,R是圆的半径。
再如图4.3的识别过程:
图4.9 step1的执行结果
图4.10 step2的识别结果 图4.11 step3的识别结果
其中最下面的line:0,Circle:1,Circle:2,…,Circle:4就是识别出的直线和圆的相关信息。
Line:0中的P1,P2是指直线的两个端点坐标、chance和count是对点的总体统计参数
Circle:1中的Center、r分别是圆的圆心和半径坐标
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页