萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 2239|回复: 3

[电子] Matlab 关于图像处理的求助

[复制链接]
发表于 2007-7-11 10:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
现在的问题是2个零件的图像对比,要求自动给出这个零件的好或坏,其中一个是标准件。目前需要比较圆度。有没有高人指点一下。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-7-11 22:54 | 显示全部楼层
理论上的办法,不知道是否有用:

可以用圆去拟合两个零件的轮廓。可以得到两个半径,还有半径的误差,以及最小二乘误差。

用标准件的半径和最小二乘误差以及半径的拟合误差可以估计另外一个零件的合格程度。

lz的圆度可以用拟合半径的误差估计。

当然,也可以用圆的全部弧的曲率半径的方差来估计。(这两个方法得到的结果应该一致)
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2007-7-16 11:33 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-7-19 18:32 | 显示全部楼层
假如我们已经将图形变成2维灰度矩阵,如同我这里的例子,矩阵 A 和 B
用下面的语句得到的图如下
>>imagesc(A);colormap(gray);



>>figure;imagesc(B);colormap(gray);




>>[x y]=find(A>0);
可以得到A的轮廓的坐标;

>>[ra a]=fminsearch(@(a)sum((a(1)-sqrt((a(2)-x).^2+(a(3)-y).^2)).^2 ), [100, 100, 100]);
可以得到拟和的半径,圆心( ra )以及半径的方差(a );结果:

ra =  149.9717  256.0000  256.0000
a =   24.7709

同样

>>[x y]=find(B>0);
>>[rb b]=fminsearch(@(a)sum((a(1)-sqrt((a(2)-x).^2+(a(3)-y).^2)).^2 ), [100, 100, 100])
得到
rb = 149.9653  259.1205  259.1079
b =  5.3074e+003

从结果看,半径一样都是 150。圆心偏移 (3.14,3.14)(这个是我们的设计值),主要是测试如果图像不是重合的,是否也可以有结果。

但是半径的方差  24 -> 5307 说明第二个圆,不如第一个园 园。

至于多大可以取舍,要看你的实际数据了。

[ 本帖最后由 recbio 于 2007-7-19 18:38 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-4-29 23:57 , Processed in 0.056529 second(s), 19 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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