所以我正在讀一堆Matlab中的圖像。Matlab - 保存一個imread圖像的32x32中心
我感興趣的圖像部分是最中心的32x32像素(實際圖像中心的一個小方塊)。
一旦你閱讀了圖像,我怎樣才能提取一箇中心或32x32並將其存儲在一個新的圖像變量?
在此先感謝
所以我正在讀一堆Matlab中的圖像。Matlab - 保存一個imread圖像的32x32中心
我感興趣的圖像部分是最中心的32x32像素(實際圖像中心的一個小方塊)。
一旦你閱讀了圖像,我怎樣才能提取一箇中心或32x32並將其存儲在一個新的圖像變量?
在此先感謝
如果您的影像未RGB,這可能是稍微簡單,但爲什麼不覆蓋更復雜的情況:
img = imread('image.png');
sz = size(img);
x = floor(sz(2)/2);
y = floor(sz(1)/2);
patch = img(y-15:y+16, x-15:x+16, :);
噢,不錯。出於某種原因,我認爲它會比這更復雜。謝謝:D出於好奇,如果它們不是RGB,它有什麼不同?感謝發佈。 – Reanimation
@Reanimation如果圖像是二維數組(例如,灰度圖像),則可以刪除最後一行中的'::',因爲在這種情況下不存在第三維 –
另外,在2D情況下我更喜歡使用'[yx] = size(...)'來避免中間向量 - 你最終會得到幾乎相同數量的代碼,所以它是否真的是'更簡單'是值得商榷的。 – Notlikethat
是您的圖像的2D或3D陣列? –