clear;
I=imread('xingshi32.bmp');
if(isgray(I)==0)
disp('请输入灰度图像,本程序用来处理128 *128的灰度图像!');
else
if (size(I)~=[128,128])
disp('图像的大小不合程序要求!');
else
H.color=[1 1 1]; %设置白的画布
figure(H);imshow(I);
title('原图像');
zeroImage=repmat(uint8(0),[128 128]);
figure(H); %为分裂合并后显示的图设置画布
meansImageHandle=imshow(zeroImage);
title('块均值图像');
%%%%%设置分裂后图像的大小由于本图采用了128像素的图
blockSize=[128 64 32 16 8 4 2];
%%设置一个S稀疏矩阵用于四叉树分解后存诸数据
S=uint8(128);
S(128,128)=0;
threshold=input('请输入分裂的阈值(0--1):');%阈值
threshold=round(255*threshold);
M=128;dim=128;
%%%%%%%%%%%%%%%%% 分裂主程序%%%%%%%%%%%
while (dim>1)
[M,N] = size(I);
Sind = find(S == dim);
numBlocks = length(Sind);
if (numBlocks == 0)
%已完成
break;
end
rows = (0:dim-1)';
cols = 0:M:(dim-1)*M;
rows = rows(:,ones(1,dim));
cols = cols(ones(dim,1),:);
ind = rows + cols;
ind = ind(:);
tmp = repmat(Sind', length(ind), 1);
ind = ind(:, ones(1,numBlocks));
ind = ind + tmp;
blockValues= I(ind);
blockValues = reshape(blockValues, [dim dim numBlocks]);
if(isempty(Sind))
%已完成
break;
end
[i,j]=find(S);
set(meansImageHandle,'CData',ComputeMeans(I,S));
maxValues=max(max(blockValues,[],1),[],2);
minValues=min(min(blockValues,[],1),[],2);
doSplit=(double(maxValues)-double(minValues))>threshold;
dim=dim/2;
Sind=Sind(doSplit);
Sind=[Sind;Sind+dim;(Sind+M*dim);(Sind+(M+1)*dim)];
S(Sind)=dim;
end
[i,j]=find(S); % 用来寻找四叉机分解结果中大小为S的块的位置
set(meansImageHandle,'CData',ComputeMeans(I,S)); % 显示分解结果块均值图像
Numberofbloks=length(i); %计算块数
%sizev=size(v);
end
end
程序2
其实很简单的,看懂下面的语句:
PicName1='a.jpg'; % 要合并的图片1
PicName2='b.jpg'; % 要合并的图片2
PicOut='c.jpg'; %合并的结果
IV1=imread(PicName1); % 读入图片1
IV2=imread(PicName2); % 读入图片2
PicData=[IV1; IV2]; % 如果是纵向拼接用这个
PicData=[IV1 IV2]; % 如果是横向拼接用这个
imwrite(PicData, PicOut, 'Quality', 75); % 输出图形
阿里matlab建模师
- 粉丝: 4341
- 资源: 2850
最新资源
- linux学习资料网络服务中继代理
- 锂电池动力极耳成形机(sw17可编辑+工程图)全套技术资料100%好用.zip
- 热门开源java读取Excel项目EasyExcel所需Jar包下载
- 货架031226.fbx
- 使用cuda核函数实现letterbox对比py的letterbox速度差异
- 粒子分料包装系统x_t全套技术资料100%好用.zip
- 使用 C 语言打印简单圣诞树图案的程序示例
- 无功补偿控制器STM32程序 智能电容控制器
- cvi 2013 运行库 恢复体能速腾
- 全球健康统计数据集,供了自2000年以来关于全球健康的综合统计数据,数据集中包含了主要疾病的患病率、发病率和死亡率信息,以及治疗效果和医疗基础设施的有效性
- 可编程加密芯片SMEC80ST SDK开发包
- 迪博内部控制指数及评级数据(2000-2023年).zip
- 电力电子技术中MOS管关断负压尖峰的成因与对策
- C++ 程序示例:控制台打印圣诞树图案
- linux学习资料网络服务FTP
- STM32内部12位ADC智能路灯源程序与Proteus仿真设计
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
前往页