這篇純粹是筆記,路過不用看
有網友寫信問,他有製作烘咖啡豆的滾筒,想知道在不同段的位置,咖啡豆是否均勻。
看了他附上的高速攝影影片,其實我覺得很難算,因為目標物很小,而且特徵不容易辨別,但是我還是試試看去處理。以下純粹只是我的製作筆記。
首先,要用Imagej處理高速攝影的MOV影片,最好是把影片轉成png檔來處理。
ubuntu下用ffmpeg來轉檔
安裝ffmpeg的方法如下。如果是2016最近安裝的Ubuntu,應該不用再安裝ffmpeg,因為據說此軟體又重回ubuntu
http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
有網友寫信問,他有製作烘咖啡豆的滾筒,想知道在不同段的位置,咖啡豆是否均勻。
看了他附上的高速攝影影片,其實我覺得很難算,因為目標物很小,而且特徵不容易辨別,但是我還是試試看去處理。以下純粹只是我的製作筆記。
首先,要用Imagej處理高速攝影的MOV影片,最好是把影片轉成png檔來處理。
ubuntu下用ffmpeg來轉檔
安裝ffmpeg的方法如下。如果是2016最近安裝的Ubuntu,應該不用再安裝ffmpeg,因為據說此軟體又重回ubuntu
http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
melt coffee.MOV
擷取影片成圖片的命令列如下
ffmpeg -i coffee.MOV -r 0.25 output_%04d.png
r 0.25 四秒鐘擷取一張圖
r 1 一秒鐘擷取一張
r 0.1 十秒鐘擷取一張
ffmpeg -i coffee.MOV -ss 00:00:03 -t 1 output_%4d.png
三秒開始,擷取一秒鐘
ffmpeg -i coffee.MOV -ss 00:00:03 -t 00:00:04 output_%4d.png
三秒開始,擷取到四秒鐘
windows下的話,可以用Extra.Movie to Gif這套軟體
http://a-chien.blogspot.tw/2016/02/imagej_29.html
要看一個滾筒裡的豆子有多少,我想到的是抓取物體移動軌跡。但是他有一些前提,主體和背景對比明顯,這樣才能用threshould分開。畫面中能和豆子產生明顯對比的部位,大概就只有中央橫桿那區大約10幾個像素高的區塊
所以接下來要切割出橫桿那區的畫面,然後用threshold抓取出豆子的輪廓之後,把畫面轉成黑白二色的binary影像,接著利用MTrack2去抓取物體軌跡
https://www.youtube.com/watch?v=fTcoO6jK5lA
如果不是要精確計數,我想也可以只算那塊區域在每個Frame裡的明暗面積變化
豆子經過時,畫面顏色會變暗,所以累計「一段時間內,該區畫面變暗的面積和」,這樣也能用來統計滾筒三區塊的豆子是否平均。
如果是三區塊的豆子數量是沒差異的,那麼三區變暗的面積也應該是一樣的
估算面積的方式用的是Analyze/AnalyzeParticles