zen*_*nab 2 matlab image data-partitioning
我想计算每个图像的颜色布局描述符(CLD)。该算法包括四个阶段。在第一阶段,我必须将每个图像分区为 64 个块 i(8\xc3\x978)n 以便计算每个块的单个代表颜色。我尝试使用(For 循环)将图像分区为 64 个块,但我获取 64 ting 图像。我想获得具有 (8\xc3\x978) 块的图像,以便通过应用 DCT 变换然后锯齿形扫描来完成算法
\n将图像分区为块然后对其运行一些处理的一种方法是使用内置函数BLOCKPROC(blkproc在旧版本的 Matlab 中调用)。
%# find block length in order to get 64 blocks
imageSize = size(img);
blockLen = round(imageSize(1:2)/8);
%# apply a function to each block
out = blocproc(img,blockLen,@myFunction)
Run Code Online (Sandbox Code Playgroud)
myFunction是您想要应用于每个块的函数。您可以将其定义为代码的子函数、单独的 m 文件或匿名函数。输出将连接在 8x×8x 数组中,其中 x 是函数输出的大小。myFunction应该有一个输入参数 ,blockStruct它是一个结构体,其字段data包含块的像素值,以及字段border、blockSize、imageSize和location。
| 归档时间: |
|
| 查看次数: |
8779 次 |
| 最近记录: |