【发布时间】:2014-12-07 09:57:07
【问题描述】:
我有一张 MRI 图像 .
我想将此图像的 256x256 大小划分为 5×5 的重叠块。然后将进一步处理这些块中的每一个以进行小波变换,然后进行 GLCM 纹理特征提取。像这样的东西 .
我已经编写了用于转换和特征提取的函数,但无法访问图像的每个块以通过该函数。 我知道 MATLAB 具有 blockproc 功能,可以将图像划分为块并为某些功能处理每个块。我是这样写的
B=blockproc(LX,[16 16],WaveletT);
WaveleT 是这样的函数:
function FV= WaveletT
level = 1;
[c,s] = wavedec2(' ',level,'haar');
[chd1,cvd1,cdd1] = detcoef2('all',c,s,level);
sizechd1=size(chd1);
sizecvd1=size(cvd1);
sizecdd1=size(cdd1);
A=appcoef2(c,s,'haar');
sizeA=size(A);
mA=mean2(A);
sdA=std2(A);
sdD=std2(cdd1);
sdH=std2(chd1);
sdV=std2(cvd1);
FV=[mA,sdA,sdD,sdH,sdV];
end
我应该将什么作为图像传递给“wavedec”函数,“B”将存储什么?我知道我在“blockproc”中做错了,所以请提供解决方案来帮助。
【问题讨论】:
-
考虑将您的编辑作为实际答案并将其标记为已接受。我花了几分钟浏览您的问题,才意识到您实际上解决了它。为防止其他人浪费时间,请添加答案并将其标记为已接受。
-
对此我深表歉意。
标签: matlab image-processing image-segmentation