2014-06-25 110 views
-4

我是MATLAB的新手。我有6個直方圖,它們是通過將圖像細分爲多個補丁而創建的。我如何合併這些補丁來製作一個直方圖(即連接6個直方圖)?在MATLAB中連接直方圖

我曾嘗試這樣的代碼:

subplot(3,4,1) 
imhist(Patch1) 
subplot(3,4,2) 
imhist(Patch2) 
subplot(3,4,3) 
imhist(Patch3) 
subplot(3,4,4) 
imhist(Patch4) 
+0

你想連接圖像或連接直方圖嗎? –

+0

@VictorMay - OP希望計算一個直方圖,表示所有拼貼的亮度等級。 「連接」在OP的部分是一個誤用。我會說這是**將所有補丁中的所有信息合併在一起。 – rayryeng

+0

那麼爲什麼將圖像細分爲補丁呢? –

回答

0

您可以連接所有的補丁到單一載體中,然後調用imhist這個矢量。你提到你有六個直方圖當你的代碼只顯示。因此,我會假設其他直方圖來自Patch5Patch6。知道這一點,代碼將簡單地爲:

patch = [Patch1(:); Patch2(:); Patch3(:); Patch4(:); Patch5(:); Patch6(:)]; 
imhist(patch); 

直方圖與您正在查看的圖像的維度不可知。它只會計算您在使用的數據強度級別上遇到的像素數量。因此,我們可以簡單地將每個補丁的所有這些像素放入一個單獨的矢量中,然後對該矢量進行直方圖分析。這將很好地工作,因爲這將忽略每個補丁的尺寸,所以我們不必構建新圖像並對新構建的圖像進行直方圖。

+0

@ user3777182 - 不客氣。如果我以任何方式幫助你,請考慮接受我的答案。點擊左側上方和下方箭頭下方的複選標記圖標。 – rayryeng