2011-02-14 77 views
0

我是在matlab中的新手。我正在嘗試編寫一個代碼,將圖像劃分爲3 * 3大小的非重疊塊,我應該執行特定塊的操作,例如獲取塊的中心像素的值並執行一些操作。但我不知道從哪裏開始。使用像blockproc這樣的命令將無濟於事。任何人都可以建議我從哪裏開始?如何使用塊處理圖像?

+0

*創業之初並繼續直到你走到盡頭:然後停下來。*你有沒有圖像?你怎麼代表它? – misha 2011-02-14 08:38:01

回答

1

你可以很容易地使用blockproc此: http://www.mathworks.com/help/toolbox/images/ref/blockproc.html

但如果不爲你工作,你得到了什麼錯誤?如果你想手動執行它(比如提取每個塊的中心像素的值),你可以簡單地使用兩個循環來做這個..但是請注意,這是一個不夠好的,並不是真正快速的方法它...

image = imread('image.png'); 
s = size(image); 

for i=2:3:s(1)-1 
    for j=2:3:s(2)-1 

    %% here you have the midpoint of each 3x3 block... 
    %% you could then easily crop the image around it if you 
    %% really need separated blocks... 

    end 
end 

這並不是雖然非常快的方式...但它的工作原理...

希望幫助...