2017-06-07 57 views
0

我有一個圖像的小ROI(感興趣區域)列表,由numpy數組表示。我如何添加或縫合ROI以形成更大的圖像(numpy數組)?每個ROI都是50x50,我希望它可以拼接成500x400的圖像。 我知道如何使用基本循環來做到這一點,但是我可以使用一個numpy函數嗎?如何添加多個小ROI(感興趣的區域)在numpy中形成圖像?

謝謝。

+1

是的。使用'np.vstack'或'np.hstack',具體取決於你想要如何拼接。我的建議是水平拼接所有ROI,然後垂直縫合生成的行。 –

+0

@Shiva,它的工作原理!非常感謝你:) – matchifang

+0

當然,很樂意提供幫助。我會繼續並將其作爲未來參考的答案發布。 –

回答

1

根據您希望縫合的方式,您可以使用np.vstacknp.hstack

np.vstack一個例子:

>>> a = np.array([1, 2, 3]) 
>>> b = np.array([2, 3, 4]) 
>>> np.vstack((a,b)) 
array([[1, 2, 3], 
     [2, 3, 4]]) 

而且,一個示例爲np.hstack

>>> a = np.array([1, 2, 3]) 
>>> b = np.array([2, 3, 4]) 
>>> np.hstack((a,b)) 
array([1, 2, 3, 2, 3, 4]) 

我的建議是水平地縫合的所有感興趣區,然後垂直縫所得行。

因此,您首先使用np.hstack水平方向縫合8 50x50 ROI以形成一排。做這10次得到10行,每個維度50x400

現在,使用np.vstack垂直縫合所有結果行,以獲得尺寸爲500x400的圖像。

如果我弄錯了什麼,讓我知道。