如何从复杂的指针式仪表图像中提取出指针
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/03 14:33:06
如何从复杂的指针式仪表图像中提取出指针
具体的步骤及相应的matlab程序,仪表图像如下
![](http://img.wesiedu.com/upload/9/51/9515bf2341ea346af6cbf812382bf8a6.jpg)
具体的步骤及相应的matlab程序,仪表图像如下
![](http://img.wesiedu.com/upload/9/51/9515bf2341ea346af6cbf812382bf8a6.jpg)
![如何从复杂的指针式仪表图像中提取出指针](/uploads/image/z/3576499-43-9.jpg?t=%E5%A6%82%E4%BD%95%E4%BB%8E%E5%A4%8D%E6%9D%82%E7%9A%84%E6%8C%87%E9%92%88%E5%BC%8F%E4%BB%AA%E8%A1%A8%E5%9B%BE%E5%83%8F%E4%B8%AD%E6%8F%90%E5%8F%96%E5%87%BA%E6%8C%87%E9%92%88)
clf;clear;clc;
I=imread('zhezhen.jpg');
p=im2bw(I,0.28);%二值化
subplot(221)
imshow(p);
se=strel('line',10,10);
g=imdilate(p,se);%膨胀
subplot(222)
imshow(g)
f=~g;%取反
f2=bwareaopen(f,200);%去除面积小于200的小区域
f3=imdilate(f2,se);%膨胀3次
f3=imdilate(f3,se);
f3=imdilate(f3,se);
f3=bwareaopen(f3,10000);%去除面积小于10000的区域
subplot(223)
imshow(f3)
L=bwlabeln(f3);
S=regionprops(L,'Area');
f4=ismember(L,find([S.Area]<=16000));%去除面积大于16000的区域,这几个值可以反复摸索设
subplot(224)
imshow(f4)
![](http://img.wesiedu.com/upload/9/ed/9ed79a143fc0027e4d4fcaff587b9fea.jpg)
I=imread('zhezhen.jpg');
p=im2bw(I,0.28);%二值化
subplot(221)
imshow(p);
se=strel('line',10,10);
g=imdilate(p,se);%膨胀
subplot(222)
imshow(g)
f=~g;%取反
f2=bwareaopen(f,200);%去除面积小于200的小区域
f3=imdilate(f2,se);%膨胀3次
f3=imdilate(f3,se);
f3=imdilate(f3,se);
f3=bwareaopen(f3,10000);%去除面积小于10000的区域
subplot(223)
imshow(f3)
L=bwlabeln(f3);
S=regionprops(L,'Area');
f4=ismember(L,find([S.Area]<=16000));%去除面积大于16000的区域,这几个值可以反复摸索设
subplot(224)
imshow(f4)
![](http://img.wesiedu.com/upload/9/ed/9ed79a143fc0027e4d4fcaff587b9fea.jpg)