![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieR0HqYUhzu0xPUe-xdQg3rTMbCKo-hSNaiKTXifXT3B7q4BJh02PBgX6eOo51Q_zsTYeNskYAHlfO-m4p24AD7tGDjznH85-I_Yzkwnqsqsum3aHONvkxp-bvA_Two735RHEV/s640/imagej.png)
有很多手機app都可以利用手機的前後鏡頭來偵測脈搏,只要手指蓋住鏡頭,App可以自動偵測出脈搏。其原理是計算每幀影格的像素強度變化,可能做些濾波和數值處理。
其實好幾年前就想自己寫個程式來偵測看看,但是當時對於電腦視覺根本不熟,現在想想其實imagej就可以做處理了。
讀入影像
1.使用fiji,先在Help/Update..,更新imagej,然後在Imagej Updater的視窗左下角選擇Manager Update sites,勾選FFMPEG,然後Apply Changes。這會加入一個匯入mp4影像的外掛。安裝後重新啟動fjij
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWqblVxLX0Q5tY7tmL1PZxKSENSKNiEgFSivL3sOf9f0gSXuVje44e-rvrrbg9zMrsa9rsH-c2gk3wILg1CRyMb9w_QBqXDOSLd4s6HLUsaTihGNkoOyVJNgH3rq2G7Z3Rk9ss/s400/update.png)
1.使用fiji,先在Help/Update..,更新imagej,然後在Imagej Updater的視窗左下角選擇Manager Update sites,勾選FFMPEG,然後Apply Changes。這會加入一個匯入mp4影像的外掛。安裝後重新啟動fjij
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWqblVxLX0Q5tY7tmL1PZxKSENSKNiEgFSivL3sOf9f0gSXuVje44e-rvrrbg9zMrsa9rsH-c2gk3wILg1CRyMb9w_QBqXDOSLd4s6HLUsaTihGNkoOyVJNgH3rq2G7Z3Rk9ss/s400/update.png)
2.開啟fiji,在File/Import/Movie(ffmpeg),把拍攝的影片匯入成stack。
3.由於影片的前後不一定是需要的部份,比方說還沒拍到手指,或是手指已經離開。因此需要剪接stack。不過imagej對於stack內的slices刪除不是很好用(或者是說我還沒找到好方法),所以建議是用複製影格的方式來做,比方說第10影格到第90影格才是需要的部份,那就在Image/Duplicate...把要的影格複製出來成一個stack。
繪製像素強度變化圖(即脈搏圖)
1.利用方框選取工具,然後選擇Image/Stack/Plot z-axis profile,即可以畫出如下圖的脈搏圖
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Wn4KZo2WNXaYp49MB2CkmbXwGB6j7sh44QesarNq7tCKQMnESE57ckIJ2ens8rDZN6HNsHT8l9hnonEcrCNMM_muWNA6VRHtbDtNv6IANb0p-L5uXM6c6WE58rCvQeFHOYL1/s400/blood-493-301.jpg)
如果不嫌費工夫,也可以把stack在分離出不同色頻來分析,例如這個是分析R Channel的強度變化,雜訊會少很多。方法有點複雜
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Wn4KZo2WNXaYp49MB2CkmbXwGB6j7sh44QesarNq7tCKQMnESE57ckIJ2ens8rDZN6HNsHT8l9hnonEcrCNMM_muWNA6VRHtbDtNv6IANb0p-L5uXM6c6WE58rCvQeFHOYL1/s400/blood-493-301.jpg)
如果不嫌費工夫,也可以把stack在分離出不同色頻來分析,例如這個是分析R Channel的強度變化,雜訊會少很多。方法有點複雜
1.利用Image/Type/RGB Stack,可以把原始的stack分離出不同的色頻,然後再用Image/Stack/Plot z-axis profile來繪製。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_zZGZ8jgVQg2csBAn1Uai8u6XCFvvB0Qa3fpfFRrTsGTBnGCYvZ3MSdZYHyy-pbz5C4ivSCsh6BR5WrlYB6jERFytTUxcWdxaoUcZl09cZzfKo9wFkKGkD_8aEw81Qd2dEcwo/s400/RGB-R.jpg)
同樣也可以分離出HSB,這個是亮度B( brightness )的圖
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNpyN5i-Lwm6GS1r4DjDLvhIxK5D-NpxwCMbhjDtXS1FEezFkLfOiOLMSTPDLEwYRJaZ44OAwthWzkFK0MDT263n1jX_aGQlHU9oseuOK7WCej2FhYfKhtYGf2lo2KrilNCyv4/s400/HSB-B.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_zZGZ8jgVQg2csBAn1Uai8u6XCFvvB0Qa3fpfFRrTsGTBnGCYvZ3MSdZYHyy-pbz5C4ivSCsh6BR5WrlYB6jERFytTUxcWdxaoUcZl09cZzfKo9wFkKGkD_8aEw81Qd2dEcwo/s400/RGB-R.jpg)
同樣也可以分離出HSB,這個是亮度B( brightness )的圖
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNpyN5i-Lwm6GS1r4DjDLvhIxK5D-NpxwCMbhjDtXS1FEezFkLfOiOLMSTPDLEwYRJaZ44OAwthWzkFK0MDT263n1jX_aGQlHU9oseuOK7WCej2FhYfKhtYGf2lo2KrilNCyv4/s400/HSB-B.jpg)
以下是處理過程的教學影片