1
如何使用MATLAB將120x120大小的面部圖像劃分爲64個15x15像素大小的塊?然後我想用Gabor濾波器對每個15x15塊進行卷積。我使用blkproc函數失敗。我該如何做?使用MATLAB將圖像劃分成相同大小的塊並使用Gabor濾波器
如何使用MATLAB將120x120大小的面部圖像劃分爲64個15x15像素大小的塊?然後我想用Gabor濾波器對每個15x15塊進行卷積。我使用blkproc函數失敗。我該如何做?使用MATLAB將圖像劃分成相同大小的塊並使用Gabor濾波器
爲了提取這些塊可以使用下文中,假設img
是一個120×120的圖像矩陣,c=15
,w=8
:
blocks = reshape(permute(reshape(img, c, w, c, w), [1 3 2 4]), c, c, w * w)
現在blocks
是15x15x64矩陣,blocks(:, :, i)
是表示15×15矩陣的i
- th塊。
Thanks.Before得到您的答案本身之前,我用以下來得到我想要的:'B = mat2cell(y,[15 15 15 15 15 15 15 15],[15 15 15 15 15 15 15 15])'然後我使用for循環來獲取塊。 – Preetham
MATLAB是關於矩陣計算和多維數據操作的。所以你可以把'reshape'和'permute'做成你的朋友。 – Mikhail