资源简介
利用matlab编程 实现对钢筋横截面图像的钢筋根数的自动统计 对于较少数目的钢筋,统计十分准确;对于数目较多,统计正确率在95%左右
代码片段和文件信息
%读入图片,并灰度化
I=imread(‘钢筋根数统计.jpg‘);
figureimshow(I);
I=rgb2gray(I);
%计算图片的像素点个数
[mn]=size(I);
%存放各灰度级出现的次数
num=zeros(1256);
%存放各灰度级的比率
p=zeros(1256);
%双精度化
I=double(I);
for i=1:m
for j=1:n
num(I(ij)+1)=num(I(ij)+1)+1;%统计各灰度级的像素点个数
end
end
for i=1:256
p(i)=num(i)/(m*n);%计算各灰度级出现的比率
end
for i=2:256
if p(i)~=0
st=i+1;%实现寻找出现比率不为0的最小灰度值
break
end
end
for i=256:-1:1
if p(i)~=0;
nd=i-1;%实现找出出现比率不为0的最大灰度值
break
end
end
%进行otsu阈值分割
%以下程序实现利用最小方差和法找出门阈值
w=inf;th=0;
for t=st:nd%最小非零比率灰度值到最大非零比率灰度值
qt1=0;qt2=0;%前景后景像素点比率
u1=0;u2=0;%前景后景均值
v1=0;v2=0;
for i=1:t
qt1=qt1+p(i);
end
for i=1:t
u1=u1+i*p(i)/qt1;
end
for i=1:t
v1=v1+((i-u1)^2)*p(i)/qt1;
end
for i=t+1:256
qt2=qt2+p(i);
end
for i=t+1:256
u2=u2+i*p(i)/qt2;
end
for i=t+1:256
v2=v2+((i-u2)^2)*p(i)/qt2;
相关资源
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
- matlab识别系统
- 神经网络分类matlab程序
- matlab正弦信号发生器的设计
- matlab程序用Hopfield网络解决TSP
- 实例matlab 编程100个常用程序
- 用MATLAB(BPSK仿真 直接扩频)
评论
共有 条评论