于是細(xì)細(xì)去看,竟是大名鼎鼎的ImageJ。ImageJ是什么呢?是NationalInstitutes of Health(NIH)開發(fā)的一款免費(fèi)的、功能強(qiáng)大的圖像處理軟件,在科研中應(yīng)用極為廣泛。不用介紹了,介紹就是百度的平方、立方…… ImageJ是一個(gè)主流的工具,很容易找到學(xué)習(xí)資料。于是看著知乎上一個(gè)專欄的教程,先嘗試一個(gè)手機(jī)測心率,結(jié)果極其準(zhǔn)確。 1.下載ImageJ。ImageJ有兩種版本,一種干凈清爽的ImageJ本身,地址為https://imagej./ij/download.html,另一個(gè)是FiJi,地址為https:///software/fiji/downloads,它們的差別是ImageJ的功能比較少,于是FiJi是人們把各種功能插件放在一起,重新包裝的。 2.錄制心跳視頻。拿起來手機(jī),打開相機(jī),用無名指擋住攝相頭,這時(shí)手機(jī)屏幕上是一片膚紅色(自己還有多少膠原蛋白,心里沒點(diǎn)兒數(shù)么?)。錄制10秒視頻。這個(gè)視頻其實(shí)是一亮一暗、一亮一暗隨心跳變化的,但是肉眼看不出來。 把視頻發(fā)送到電腦(壓縮成壓縮包再傳,別用微信、QQ等直接傳,它們會(huì)把視頻文件重新壓縮和處理,有些重要的參數(shù)會(huì)變化),看看幀率,一會(huì)兒要用。 3.打散視頻文件為圖片序列。用Tracker打開錄制的視頻,然后導(dǎo)出為jpg序列。說明一:FiJi(ImageJ)通過FFmpeg插件是可以直接導(dǎo)入mp4格式視頻的,但是我安裝這個(gè)插件安裝了N次沒有成功,提示N多錯(cuò)誤。說明二:使用Tracker打開mp4、mov是Tracker的常規(guī)操作,也不算麻煩,但卻增強(qiáng)了ImgaeJ的通用性。這樣想開了,就不再想著安裝FFmpeg了。 4.導(dǎo)入圖片序列。File/Import/Image sequence... 5.提取圖片序列中間段。Image/Duplicate...選取要提取的部分首、尾幀,注意勾選Duplicate stack,就是確定之后會(huì)重新復(fù)制一份新的序列,而不會(huì)在原來的圖片序列上折騰。 6.提取圖片序列的基礎(chǔ)數(shù)據(jù)(Profile)統(tǒng)計(jì)圖。用方框工具選圖片比較中間的部分,再Image/Stacks/Plot Z-axis Profile,得到統(tǒng)計(jì)圖。再用point描點(diǎn)工具把各曲線峰標(biāo)出來。 7.得到曲線峰的數(shù)據(jù)表。Analyze/Measure,得到各峰值統(tǒng)計(jì)數(shù)據(jù)表,這個(gè)表能被保存成csv格式。 8.計(jì)算心率。到Excel里打開統(tǒng)計(jì)數(shù)據(jù)表,其中X的含義是這些峰值們相距的幀數(shù)(因?yàn)楹蜁r(shí)間是對應(yīng)的,所以帶有小數(shù)部分),Y值其實(shí)就是光強(qiáng)度的意思。 在I9、I10、I11輸入相應(yīng)公式,計(jì)算得到心動(dòng)周期0.8929秒,心率67次/秒。按住手腕橈動(dòng)脈,打開手機(jī)秒表,屏住呼吸,數(shù)脈搏,發(fā)現(xiàn)正好67次。 |
|