![]() |
如何在MATLAB中将图像分区到64块
我想为每个图像计算颜色布局描述符(CLD)。此算法包括四个阶段。在第一阶段中,我必须将每个图像划分为64个块i(8脳8)n,以便从每个块中计算出一种代表色..我尝试使用(For循环)将图像划分为64个块,但得到64个婷图像。我想使用(8脳8)块获取图像,以便通过应用DCT变换然后进行锯齿形扫描来完成算法
[B]回答:[/B] 这是我之前为完全相同的问题(8x8块,DCT系数等)编写的一些代码... img=imread('filename') [img_x,img_y]=size(img); block_size=8; slide_len=1; for ix=block_size/2:slide_len:img_x-block_size/2 for jy=block_size/2:slide_len:img_y-block_size/2 current_block=img((ix-block_size/2+1):(ix+block_size/2),(jy-block_size/2+1):(jy+block_size/2)); dct_coeff=reshape(dct2(current_block),1,block_size^2); end end slide_len设置一个块与下一个块之间的偏移量。在这种情况下,每次偏移一个像素。但是,如果要使用非重叠块,则应将其设置为8。通常在此应用程序中,会使用一些重叠。 [url=https://stackoverflow.com/questions/5207960]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 04:52。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.