利用直方圖(histogram)來顯示影像的亮度統計是一個常用的工具。在Octave 或Matlab,只要一行指令就可以畫出影像的直方圖。
↓利用imhist畫出影像im的直方圖
利用imhist畫出的直方圖就像上圖一樣,很多人不喜歡圖型下半部的灰階色塊,也不喜歡X座標的說明文字只有0到250 (灰度值應該是0-255)。每個人對圖型的要求都不同,無論是顏色、大小、座標軸、格線....都有不同的看法,可是在Octave上修改圖型的設定是困難的,為了解決這個問題,我們可以將imhist產生的數據「丟」到EXCEL去畫圖,然後再慢慢修自己想要的樣子。
只要在Octave產的變數,其數值可以寫到檔案中,作為其他軟體的使用,當然自己也可以再讀取。
↓利用imhist將影像im的直方圖存到變數counts中,再把counts存到檔案histogram.txt中
指令save將《 變數》儲存到《檔案》,即 >> save 檔名 變數
↓使用記事本開啟檔案histogram.txt
由於imhist輸出的counts是一個一維陣列,依序存放灰度值由0至255出現的次數。從記事本開啟這個一維陣列,檔案前五行為說明文字(每行開頭有#),說明產生的日期及格式。
接下來,啟動excel來讀取直方圖的數據資料。
↓在EXCEL中,按《資料》→《從文字檔》→選擇剛才的hitogram.txt
↓EXCEL讀入該文字檔後,由於資料只有一行數字,無需設定格式,直接按《完成》
↓資料起始位置放在預設的A1,按《確定》
↓把說明文字的五行資料刪除
利用滙入的資料來畫圖,再修訂成自己想要的格式,由EXCEL來操作就容易多了。剩下就是EXCEL插入《直條圖》、《散佈圖》.....
↑喜歡哪一種,自己決定.....
-- END --
沒有留言:
張貼留言