如何用MATLAB实现图像分块

如何用MATLAB实现图像分块,第1张

用blkproc函数

B = blkproc(A,[m n],fun, parameter1, parameter2, ...)

参数解释:[m n] : 图像以m*n为分块单位,对图像进行处理(如8像素*8像素)

Fun: 应用顷春此函数对分别对每个m*n分块的像素进行处理

parameter1, parameter2: 要传渗汪给fun函数的参数

比如:

output = blkproc(img,[8 8],'dct') %对图像的每雀喊耐个字块的列 行进行DCT变换

output = blkproc(output',[8 8],'dct')

[M N] = size(I)

blockSize = M/雀链d

for i=1:d

for j=1:d

block(i,j) = I((i-1)*blockSize+1:i*blockSize , (j-1)*blockSize+1:j*blockSize)

end

end

%block数组中存陪物储的就顷乱孙是你要分的块 。

1种情况:横向重叠历滚

找到重叠的那一行就行了,然后去除枝唯多余部分

for ii=1:m

if a(ii,:)==b(ii,:)

result=a的上半部分+b的下半部分;

end

end

2种情况:纵向重叠

找到重叠的那一列就行肢搭余了,然后去除多余部分


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8178492.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存