簡體   English   中英

在matlab中逐塊處理圖像

[英]Block wise processing of an image in matlab

我有一個256 * 256大小的圖像,我想要塊狀處理該圖像。 要做到這一點,我想得到64 * 64 = 4096塊,每塊16像素。 我是Matlab的新手,所以我發現很難找到具體的命令來做到這一點。 到目前為止我所擁有的是,

    I=imread('kidneyimage.jpg');
    I=rgb2gray(I);
    % block wise processing needed.

對命令的任何幫助都非常感謝。

為此,您可以使用im2col函數。

http://www.mathworks.fr/help/toolbox/images/ref/im2col.html

如果您剛開始使用Matlab,請嘗試最簡單的方法:使用兩個嵌套的for循環來迭代並操縱每個塊。 看看imread的幫助頁面,這個函數為你提供了一個填充每個像素顏色的矩陣。 Matlab有一個特殊的符號,用於使用冒號(:)運算符提取矩陣的部分,因此您可以輕松地逐個修改圖像塊。

似乎函數B = blockproc (A, [MN], fun)完全符合您的需要。 它為圖像A每個塊應用函數fun ,然后連接結果。 還有直接從文件中讀取圖像的選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM