数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 3566|回复: 5

请帮忙纠错!

[复制链接]
发表于 2003-7-25 21:51:35 | 显示全部楼层 |阅读模式
求图形的最大内切圆半径。
我们是这样思考的:
1。取图形矩阵B1和边缘矩阵A11
2。寻找非0元素的坐标
3。根据坐标分别求出余数和商作为横纵坐标
4。然后利用for循环求出半径(两重for循环求最小值的最大值),但是发现这部有问题
请教各位这部具体应该怎么写啊?(完整的程序)
谢谢!<IMG border=0 SRC=images/brow/embaressed_smile.gif>
 楼主| 发表于 2003-7-25 21:57:46 | 显示全部楼层

我们的程序是这样的:
A1=imread(&#39;0.bmp&#39;)
A11=edge(A1);
E=ones(512);
B1=E-A1;
f1=find(B1);
f2=find(A11);
x1=floor(f1/512);
y1=rem(f1,512);
x2=floor(f2/512);
y2=rem(f2,512);



for m=1:3013
for n=1:170
p(m,n)=sqrt((x1(m)-x2(n))^2+(y1(m)-y2(n))^2);
end
e(m)=min(p(m,n));
end
f=max(e);
发表于 2003-7-25 22:10:06 | 显示全部楼层

f1,f2所有的取值均不超过512,你们可以再考虑一下思路
 楼主| 发表于 2003-7-25 22:12:11 | 显示全部楼层

不是这样的,f1,f2我们显示过的,有超过512的
发表于 2003-7-25 22:32:29 | 显示全部楼层

p(m,n)=sqrt((x1(m)-x2(n))^2+(y1(m)-y2(n))^2);为什么m要for m=1:3013呢?m会不会超过512?
 楼主| 发表于 2003-7-25 22:37:36 | 显示全部楼层

我们经过计算过的,图形的象素点共有3013个,即x1的矩阵中有3013个数值
我们觉得关键是循环中的关系我们不是很懂。(我们的意思很难在循环中实现)最终值是有的,不过与正确答案有一半左右的差距
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-26 21:44 , Processed in 0.115097 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表