资源简介
区域标记与面积计算。此算法可以对简单的二值图像进行区域标记和面积测量。
代码片段和文件信息
clear all
close all
clc
th=0.5;k=1;
image=imread(‘pic.jpg‘);
pix=im2bw(imageth);
imshow(image)
v=-1.*pix+1;
I=-1.*v+1;
figure
imshow(v)
[x y]=size(I);
for i=2:x-1
for j=2:y-1
if I(ij) > 0
k=k+1;
I(ij)=k;
if (I(i-1j-1)>0)&&(I(i-1j)>0)&&(I(i-1j+1)>0)&&(I(ij-1)>0) %m1>0 m2>0 m3>0 m4>0
I(ij)=I(i-1j-1); I(i-1j)=I(i-1j-1); I(i-1j+1)=I(i-1j-1); I(ij-1)=I(i-1j-1);
elseif (I(i-1j-1)>0)&&(I(i-1j)>0)&&(I(i-1j+1)==0)&&(I(ij-1)>0) %m1>0 m2>0 m3=0 m4>0
I(ij)=I(i-1j-1); I(i-1j)=I(i-1j-1); I(ij-1)=I(i-1j-1); %k0=k1=k2=k4
elseif (I(i-1j-1)>0)&&(I(i-1j)>0)&&(I(i-1j+1)==0)&&(I(ij-1)==0) %m1>0 m2>0 m3=0 m4>0
I(ij)=I(i-1j-1); I(i-1j)=I(i-1j-1); %k0=k1=k2
elseif (I(i-1j-1)>0)&&(I(i-1j)>0)&&(I(i-1j+1)>0)&&(I(ij-1)==0) %m1>0 m2>0 m3>0 m4=0
I(ij)=I(i-1j-1); I(i-1j)=I(i-1j-1); I(i-1j+1)=I(i-1j-1); %k0=k1=k2=k3
elseif (I(i-1j-1)>0)&&(I(i-1j)==0)&&(I(i-1j+1)==0)&&(I(ij-1)==0) %m1>0 m2=0 m3=0 m4=0
I(ij)=I(i-1j-1); %k0=k1
elseif (I(i-1j-1)>0)&&(I(i-1j)==0)&&(I(i-1j+1)>0)&&(I(ij-1)==0) %m1>0 m2=0 m3>0 m4=0
I(ij)=I(i-1j-1); I(i-1j+1)=I(i-1j-1); %k0=k1=k3
elseif (I(i-1j-1)>0)&&(I(i-1j)==0)&&(I(i-1j+1)==0)&&(I(ij-1)>0) %m1>0 m2=0 m3=0 m4>0
I(ij)=I(i-1j-1); I(ij-1)=I(i-1j-1); %k0=k1=k4
elseif (I(i-1j-1)>0)&&(I(i-1j)==0)&&(I(i-1j+1)>0)&&(I(ij-1)>0) %m1>0 m2=0 m3>0 m4>0
I(ij)=I(i-1j-1); I(i-1j+1)=I(i-1j-1); I(ij-1)=I(i-1j-1); %k0=k1=k3=k4
elseif (I(i-1j-1)==0)&&(I(i-1j)>0)&&(I(i-1j+1)>0)&&(I(ij-1)>0) %m1=0 m2>0 m3>0 m4>0
I(ij)=I(i-1j); I(i-1j+1)=I(i-1j); I(ij-1)=I(i-1j); %k0=k2=k3=k4
elseif (I(i-1j-1)==0)&&(I(i-1j)>0)&&(I(i-1j+1)>0)&&(I(ij-1)==0) %m1=0 m2>0 m3>0 m4=0
I(ij)=I(i-1j); I(i-1j+1)=I(i-1j); %k0=k2=k3
elseif (I(i-1j-1)==0)&&(I(i-1j)>0)&&(I(i-1j+1)==0)&&(I(ij-1)==0) %m1=0 m2>0 m3=0 m4=0
I(ij)=I(i-1j); %k0=k2
elseif (I(i-1j-1)==0)&&(I(i-1j)>0)&&(I(i-1j+1)==0)&&(I(ij-1)>0) %m1=0 m2>0 m3=0 m4>0
I(ij)=I(i-1j); I(ij-1)=I(i-1j); %k0=k2=k4
elseif (I(i-1j-1)==0)&&(I(i-1j)==0)&&(I(i-1j+1)>0)&&(I(ij-1)>0) %m1=0 m2=0 m3>0 m4>0
I(ij)=I(i-1j+1); I(ij-1)=I(i-1j+1); %k0=k3=k4
elseif (I(i-1j-1)==0)&&(I(i-1j)==0)&&(I(i-1j+1)>0)&&(I(ij-1)>0) %m1=0 m2=0 m3>0 m4=0
I(ij)=I(i-1j+1); %k0=k3
elseif (I(i-1j-1)==0)&&(I(i-1j)==0)&&(I(i-1j+1)==0)&&(I(ij-1)>0) %m1=0 m2=0 m3>0 m4=0
I(ij)=I(ij-1);
end
if (I(i-1j-1)>0)||(I(i-1j)>0)||(I(i-1j+1)>0)||(I(ij-1)>0)
k=k-1;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4526 2009-03-02 17:34 区域标记\labeling.m
文件 4245 2007-02-04 10:32 区域标记\pic.JPG
..A.SH. 4608 2011-04-30 11:09 区域标记\Thumbs.db
目录 0 2011-04-30 20:00 区域标记
----------- --------- ---------- ----- ----
13379 4
- 上一篇:QT调用matlab引擎
- 下一篇:时频重排同步压缩matlab
相关资源
- 时频重排同步压缩matlab
- QT调用matlab引擎
- FIR带通滤波器源代码
- matlab录音程序76107
- Dijkstra算法的Matlab程序,有验证。
- spasm工具包
- MATLAB中ifft函数用法、性质、特性以及
- MATLAB中fft函数用法、性质、特性、缺
- 滑模变结构控制第三版matlab仿真程序
- matlab计算节点重要度
- CT等距扇束重建
- 基于蚁群算法的图像边缘检测算法M
- 基于MOEA/D的多目标优化算法
- 含风电场的电力系统潮流程序matlab
- 跳频扩频系统的MATLAB仿真
- matlab 虫口方程特性
- matlab 分叉图
- 矩阵归一化matlab程序代码
- 机器人学中轨迹规划算法
- 基于MATLAB有噪声语音信号的处理
-
基于MATLAB/Simuli
nk的光伏电池建模与 - 牛顿迭代法求解非线性方程的Matlab程
- matlab 程序实现求f=x^2的最大值
- matlab simulation for radar systerm design
- QDPSK信号的调制与解调Matlab程序
- RBF神经网络自适应控制MATLAB仿真程序
- DS_CDMA通信系统\\DS_CDMA 仿真源程序.d
- matlab源程序 生成树叶状图形
- Robotics_Toolbox_for_MATLAB_BOOK.pdf
- 随机介质生成的简要介绍
评论
共有 条评论