matlab 螺纹,关于螺纹边缘提取及参数测量

我在做一个基于Matlab的螺纹参数测量

f150f883a03a69d25d870cbe31e18288.png

图片1.jpg (59.54 KB, 下载次数: 11)

部分图片

2015-5-21 20:56 上传

bb8920b9d674650eada921f7e9491b1e.png

7.jpg (52.43 KB, 下载次数: 11)

处理图片

2015-5-21 20:56 上传

I=imread('7.jpg'); %读取图片文件中的数据b=rgb2gray(I); %将真彩色图像转换为灰度图像 imwrite(b,'1.灰度图像.jpg');%将图像数据写入到图像文件中figure(1),subplot(2,3,1),imshow(b),title('1.灰度图像')g_max=double(max(max(b))); %换成双精度数值g_min=double(min(min(b))); %换成双精度数值imwrite(b,'2.二值图像.jpg'); %将图像数据写入到图像文件中figure(1),subplot(2,3,2),imshow(b),title('3.均值滤波前')       % 滤波h=fspecial('average',3);%建立预定义的滤波算子,average指定算子的类型,3为相应的参数 imwrite(b,'4.均值滤波后.jpg'); %将图像数据写入到图像文件中figure(1),subplot(2,3,3),imshow(b),title('4.均值滤波后')T=round(g_max-(g_max-g_min)/3);  % T 为二值化的阈值[m,n]=size(b); %返回矩阵b的尺寸信息, 并存储在m、n中。其中m中存储的是行数,n中存储的是列数。d=(double(b)>=T);   % d:二值图像d=im2bw(round(filter2(h,d)));%转换为二值图像figure(1),subplot(2,3,4),imshow(d),title('2.二值图像')h=edge(d,'canny',0.08,'vertical'); %高斯滤波器,方差为0.08% figure(5),imshow(h);title('算子边缘检测')% 某些图像进行操作% 膨胀或腐蚀 se=strel('square',5); % 使用一个3X3的正方形结果元素对象对创建的图像膨胀% 'line'/'diamond'/'ball'...se=eye(2); % eye(n) returns the n-by-n identity matrix 单位矩阵[m,n]=size(d); %返回矩阵b的尺寸信息, 并存储在m、n中。其中m中存储的是行数,n中存储的是列数 if bwarea(d)/m/n>=0.365 %计算二值图像中对象的总面积        d=imerode(d,se); %图像的腐蚀elseif bwarea(d)/m/n<=0.235 %计算二值图像中对象的总面积         d=imdilate(d,se); %实现膨胀操作endimwrite(d,'5.膨胀或腐蚀处理后.jpg'); %将图像数据写入到图像文件中figure(1),subplot(2,3,5),imshow(d),title('5.膨胀或腐蚀处理后')figure(1),subplot(2,3,6),imshow(h);title('算子边缘检测')% 某些图像进行操作边缘提取后的螺纹参数螺距、牙型角和中径的测量程序不是很清楚,不知道有木有大婶可以帮助进行这一部分的知道。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值