怎样将一个256×256的矩阵分为大小为8×8的不重叠矩阵,再将一个32×32的矩阵中的每个数依次取出与8×8矩阵中的每个数做运算,最后再放回8×8的矩阵中?
我想问一下,那个小波变换完以后,用上面那个程序把水印嵌入再小波反变换后,为什么图像没有了呢?
假设256x256的矩阵是img, 32x32的矩阵是coeff,你的意思是在img最左上角的8x8矩阵和coeff(1, 1)做运算,左上 img(1:8, 9:16)的和coeff(1, 2)运算等等如此类推?如果是的话blockSize = [8, 8];for ii = 1 : size(img, 1)/blockSize(1) index1 = ((ii - 1) * blockSize(1) + 1) : ii * blockSize(1); for jj = 1 : size(img, 2)/blockSize(2) index2 = ((jj - 1) * blockSize(2) + 1) : jj * blockSize(2); block = img(index1, index2); % block 和 coeff(ii, jj) 进行运算, 结果存在modifiedBlock img(index1, index2) = modifiedBlock; endend |
|