资源简介
matlab 实现了四叉树的分割算法 算法中对实例图片进行了分割,matlab7.0编译通过
代码片段和文件信息
clear;
PicC=imread(‘lake256.jpg‘);
Threshold=0.2 %qtdecomp的参数
MinDim=4; %qtdecomp的参数
[mnlayer]=size(PicC);
PicOut=255+zeros(mn);%255是白色的值,生成一个白色的图片
if(layer==3)
Pic=rgb2gray(PicC);%如果是彩色图像,则转换为灰度图像
end
PicDivide=qtdecomp(PicThresholdMinDim);%四叉树分割
List=find(PicDivide);%PicDivide中非零元素的位置,List为列向量
List=List‘; %转置List,使其为行向量
NumMin=0; %边长为MinDim的块的数量
NumNotMin=0;%边长大于MinDim的块的数量
for i=List
if PicDivide(i)==MinDim
NumMin=NumMin+1;
else
NumNotMin=NumNotMin+1;
end
end
RatioEnt=strcat(‘边长为最小值的块数与其他块的总数的比值为:‘num2str(NumRatio));
%BlockNum=size(List); 以下四行计算四叉树分割得到的块与图像面积的比
%BlockNum=BlockNum(2);
%BlockRatio=BlockNum/(m/4)/(m/4);
%BlockEnt=strcat(‘四叉树分割得到的块与图像面积的比是‘num2str(BlockRatio));
for i=List
[xy]=ind2sub(size(PicDivide)i);%将线性序列转变为行列序列
DSize=PicDivide(xy)-1; %需要减1,比如坐标为20,边长为5,则方块的边界为20+5-1=20
PicOut(x:(x+DSize)y)=ones(DSize+11);%左侧边
PicOut(xy:(y+DSize))=ones(1DSize+1);%上侧边
PicOut(x:(x+DSize)y+DSize+1)=ones(DSize+11);%右侧边
PicOut(x+DSize+1y:(y+DSize))=ones(1DSize+1);%下侧边
end
subplot(121);imshow(PicC);
subplot(122);imshow(uint8(PicOut));
xlabel(RatioEnt);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1380 2009-04-15 00:01 PicBlock.m
文件 12607 2009-03-29 09:17 lake256.JPG
----------- --------- ---------- ----- ----
13987 2
相关资源
- 东南大学 matlab 图像边缘检测算法 代
- susan算法matlab
- 无线传感网络节点不同算法下的能量
- matlab实现穷尽块匹配算法
- MP算法实现
- 匹配跟踪算法(matlab)
- 数字水印典型空域算法LSB
- 汉密尔顿回路 汉密尔顿圈经典算法
- 神经电压缩感知matlab
- 非线性控制时滞系统迭代学习控制算
- Levenberg-Marquardt程序
- Matlab 协同进化遗传算法解决多阶段决
- 三维装箱和VRP结合的MATLAB算法
- BFS 广度优先搜索算法 matlab
- 自适应NLMS算法
- 利用遗传算法进行图像分割(matlab源
- 加权质心定位算法
- LDPC码的PEG构造算法
- MVDR 算法及相关文献
- GS算法的MATLAB代码
- ART迭代算法图像重建
- 图像显著性特征提取算法
- 粒子滤波算法 matlab
- 基于栅格地图的Dijkstra算法路径规划
- SMOTE结合SVM算法matlab实现
- 算法标准测试函数
- 基于粒子群优化算法的模糊c聚类源码
- MUSIC算法的DOA估计的matlab仿真程序
- capon算法Doa估计测角精度仿真matlab
- 二维MUSIC算法仿真.m
评论
共有 条评论