大家好,我是初学者。我现在要处理一张图片,图片中有一个钢杆,要将杆的长度计算出来。怎么能计算出来呢?
麻烦大家帮帮忙,谢谢啦。
我该用什么算法才能提取出来呢?谢谢大家了
怎样用matlab计算图像中杆的长度
答案:4 悬赏:0
解决时间 2021-03-12 13:01
- 提问者网友:你在我心中是最美
- 2021-03-11 19:10
最佳答案
- 二级知识专家网友:余生继续浪
- 2021-03-11 20:43
% 下面例子参考:
function f = myfun(t) % 存为 myfun.m
f = sqrt(4*t.^3 + t.^2 + 1);
len = quad(@myfun,0,2) % 计算 t 在 0 到 2 范围内曲线的长度
fn = '0000.png';
I = imread(fn);
imshow(I);
[x,y] = ginput(11);
x = 2*(x-min(x))/(max(x)-min(x));
y = (y-min(y))/(max(y)-min(y));
y = max(y)-y;
p = polyfit(x,y,2);
f = poly2sym(p);
vpa(f,2)
ans =
.12*x^2+.25*x+.65e-3 % 这就是二次拟合出来的关系式,放入function 中
function f = myfun(t) % 存为 myfun.m
f = sqrt(4*t.^3 + t.^2 + 1);
len = quad(@myfun,0,2) % 计算 t 在 0 到 2 范围内曲线的长度
fn = '0000.png';
I = imread(fn);
imshow(I);
[x,y] = ginput(11);
x = 2*(x-min(x))/(max(x)-min(x));
y = (y-min(y))/(max(y)-min(y));
y = max(y)-y;
p = polyfit(x,y,2);
f = poly2sym(p);
vpa(f,2)
ans =
.12*x^2+.25*x+.65e-3 % 这就是二次拟合出来的关系式,放入function 中
全部回答
- 1楼网友:虚伪的现实
- 2021-03-12 00:29
下一个matlab教程学习一下
- 2楼网友:高冷不撩人
- 2021-03-11 23:18
先用边缘检测函数edge,把杆的边缘检测出来,然后用霍夫变换把杆的边缘直线找出来,就可以计算长度了。
- 3楼网友:转身后的回眸
- 2021-03-11 21:41
你好!
先要进行图像分割,将钢杆提取出来,当然方法有很多,包括楼上的edge,或阈值分割,再将图像转成黑白二值图像,将目标物置白,选择标记bwlabel,再对标记图像用描述regioprops,最后在regioprops的属性里选择MajorAxisLength,这是与目标物具有相同二阶中心矩的椭圆的长轴,由于你的钢杆是矩形的,所以可以近似地认为等于长轴.
我的回答你还满意吗~~
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |