999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于圖像分割的網絡API設計與實現

2016-12-23 11:18:52馮春雨
電子設計工程 2016年24期
關鍵詞:程序

馮春雨,趙 建,趙 耀

(1.河北省科學院應用數學研究所 河北 石家莊050081;2.河北師范大學 河北 石家莊050024;3.中國人民銀行石家莊中心支行 河北 石家莊050000)

基于圖像分割的網絡API設計與實現

馮春雨1,趙 建2,趙 耀3

(1.河北省科學院應用數學研究所 河北 石家莊050081;2.河北師范大學 河北 石家莊050024;3.中國人民銀行石家莊中心支行 河北 石家莊050000)

通過圖像分割算法在腦圖像中自動分割出腦室并計算腦室面積,可以彌補人工診斷的主觀性和局限性,為臨床診療提供了更加客觀、全面的決策支持。另外,通過網絡API的形式提供服務,復雜的算法運算在服務器端完成,使用者只需在瀏覽器中進行簡單的操作就可獲得想要的結果。此方法不僅方便快捷,同時還大大降低對硬件資源的要求。

圖像分割;網絡API;輔助診斷;JAVA本地接口

近年來,腦部疾病以其高發病率、高死亡率、高致殘率、高復發率及多并發癥等特點成為威脅人類健康的重要因素。據報道,我國每年有超過200多萬人發生腦疾,其中我國每年死于腦疾病患者約有100萬以上,腦疾病病死率約為45%。因而,如何借助于醫學影像檢查,定性和定量地分析腦組織,進而分析與腦疾病的關系已經成為當前的研究熱點。

核磁共振成像(MRI)是對腦部疾病進行診斷的重要手段[1]。由于大腦結構的復雜性和個體差異性,準確地在MRI顱腦圖像中測量感興趣的腦組織是一項極為復雜和困難的任務。過去,定量化的測量腦組織尚不精確,病情診斷方面往往依賴醫生的經驗。隨著計算機的應用與發展,醫院管理信息化和智能化水平的不斷提高,醫院信息系統在醫學圖像的管理、分析和輔助醫生診斷中發揮著不可替代的作用[2]。

本論文中通過前期改良的圖像分割算法在腦圖像中自動分割出腦室并計算腦室面積,可以彌補人工診斷的主觀性和局限性,為臨床診療提供了更加客觀、全面的決策支持。另外,通過網絡API的形式提供服務,復雜的算法運算在服務器端完成,使用者只需在瀏覽器中進行簡單的操作就可獲得想要的結果。此方法不僅方便快捷,同時還大大降低對硬件資源的要求。

1 總體設計思路

因圖像分割算法涉及許多復雜的數學運算[3-7],如果采用常用的編程語言(C/C++、Java等)實現的話編程工作量將非常巨大。Matlab是面向科學計算的常用軟件,具有高效的數值計算及符號計算功能,且語法特征與C++語言極為相似,簡單易用[8]。使用Matlab可以輕松完成一些繁雜的數學運算,因此對于一些復雜的算法可以先通過Matlab實現,然后被其它編程語言調用。在C程序中調用Matlab程序有兩種方式[9-10]。第一種是C程序直接調用Matlab引擎,第二種是將Matlab程序打包成動態鏈接庫文件(DLL)在C語言環境下調用。兩種方式各有優缺點,本文中采用第二種方式。首先利用Matlab實現圖像分割算法[11-12],然后將Matlab程序編譯成C可調用的Dll,編寫C接口及數據轉換程序并打包成DLL,最后通過JNI調用C編譯生成的DLL完成網絡API的設計[13]。

2 前期準備

文中實驗中使用的計算機主要配置為 intel i7-3770 CPU,內存大小4G,硬盤空間500G。操作系統為Window XP,C編譯器使用VC++6.0,Matlab使用 Matlab9.0 32位版本,Java環境使用 JDK 1.7.0_67版本,Web應用服務器使用Tomcat 7.0.61版本。C編譯器和Matlab選取時只要在Matlab中能夠找到C編譯器就行,一般來說只要C編譯器的版本不高于 Matlab版本就能達到此要求。如 Matlab2012b和VS2010/VS2012,Matlab2014和 VS2010/2012等等。 利用Matlab編寫改進后的圖像分割算法,文中算法主程序為Demo_LGD.m文件。

3 Matlab編譯器設置

1)在Matlab的command window里面輸入mex–setup,Matlab詢問是否定位計算機上安裝的編譯器,輸入y,Matlab會列出所有電腦上所有的編譯器,這里選擇2,即VC++6.0,如圖1所示。

圖1 選擇編譯器

2)選擇build工具。完成以上步驟后,輸入mbuild-setup,選擇build工具,過程跟上一步類似,結果見圖2。

圖2 選擇build工具

4 M文件編譯

在Matlab的command window里面敲入命令:mcc-W cpplib:LGD-T link:lib Demo_LGD,其中,mcc是Matlab提供的編譯命令,-W是控制編譯之后的封裝格式,cpplib是指編譯成C++的lib,cpplib冒號后面指定編譯后庫的名字,-T表示目標,link:lib表示要連接到一個庫文件的目標,目標的名字是后面的Demo_LGD,即你寫的m函數的名字。詳細說明可在Matlab命令窗口敲入help mcc或mcc-?查看幫助。

Matlab完成指令運行后,在Matlab工程目錄下面會出現多個文件,其中對我們來說有用的是LGD.cpp,LGD.dll,LGD.h和LGD.lib這4個文件。LGD.dll是編譯好的動態鏈接庫,實現圖像分割的函數封裝在個文件里面,LGD.h是對應的頭文件,在C里面調用這個函數的時候,需要include這個頭文件,在這個頭文件的最后,你可以看到下面的內容:

這就是Demo_LGD的C函數的聲明。nargout表示輸出變量的個數area1,area2,infile,outfile,X,Y,InforDef,Compress對應m函數的幾個變量。注意,除nargout外其它變量的類型都是mwArray。mwArray是一個類,是Matlab提供的一個特殊的變量類型。C程序調用Matlab程序時需進行數據類型轉換,這些內容會在第6節中提到。

5 VC環境設置

為了在C程序能夠調用上一節生成的dll和lib文件,支持Java編譯(JNI用到),需對VC環境進行設置,具體步驟如下:

1)打開VC程序并建立一個動態鏈接庫工程,這里起名為MRISegment,將上面生成的LGD.cpp,LGD.dll,LGD.h和LGD.lib 4個文件拷貝到工程目錄下。

2)在tool-option-directory里面設置include頭文件和lib的路徑。首先是include中添加Matlab和JAVA頭文件的路徑,如圖3最下面3行所示,根據具體情況選擇Matlab和JDK軟件的安裝目錄。

圖3 添加頭文件路徑

然后添加lib的位置,不僅需要添加Matlab靜態庫的位置,而且也要把剛編譯生成的lib位置添加進來,如圖4最后兩行所示。

圖4 添加鏈接庫文件路徑

3)添加所需lib文件。路徑設置好后,在project Settinglink-Object/library modules里面加入 mclmcrrt.lib、libmx.lib、libmat.lib、mclmcr.lib和LGD.lib 4個文件,文件名之間用空格隔開,如圖5所示。

圖5 添加鏈接庫文件

6 JNI及C接口程序編寫

如果網站管理后臺采用C語言編寫,可以直接調用Matlab打包生成的DLL。如果使用Java語言編寫,則無法直接調用Matlab打包生成的DLL,可以采用JNI(Java Native Interface)形式快速有效的完成程序間的調用[14-15]。本節簡單介紹通過JNI調用算法DLL的流程。

1)新建一個txt文件,起名為MRISegment,將后綴名改為java,該文件主要定義一個java類實現對調用函數的封裝。內容如下:

2)生成class文件。調出命令行程序,將路徑設置為上面所建java文件所在路徑(或者下一步javac命令中文件帶有絕對路徑)[16],輸入javac MRISegment.java,生成MRISegment. class文件。

3)生成h文件。將路徑設置為MRISegment.class文件所在路徑(或者下一步javah命令中文件帶有絕對路徑),輸入javah-jni MRISegment,生成MRISegment.h文件,并將該文件拷貝到MRISegment工程目錄下。

4)編譯生成C動態鏈接庫。首先在MRISegment工程中新建cpp文件。該cpp主要實現Java和C之間、C和Matlab之間數據格式的轉換以及MRISegment.h文件中定義的函數[17]。編譯工程生成MRISegment.dll。

7 API調用頁面顯示

前臺頁面主要負責圖像的顯示以及坐標點、參數的輸入以及處理后圖像的呈現,數據提交到后臺調用第六節中生成的MRISegment.dll。圖像處理完畢后將結果返回給前臺頁面。圖6~8為實現過程的頁面截圖。

圖6 加載圖像

圖7 選擇目標區域

圖8 結果顯示

8 結 論

文中通過計算機自動分割出腦室并計算腦室面積,一定程度上彌補了人工診斷的主觀性和局限性。另外,以網絡API的形式為醫務人員提供服務,使用人員不需購置昂貴的設備,可以通過任何一個帶有網絡的普通PC或者移動設備隨時隨地獲取服務,既方便快捷又大大節省了使用方的費用。因此,該方式具有較高的商業價值,可在縣級以上醫療機構大面積推廣,產生較好的經濟效益。

[1]陳武凡,康立麗.MRI原理與技術[M].北京:科學出版社,2012.

[2]章毓晉.圖像工程[M].第2版.北京:清華大學出版社,2007.

[3]Song Z,Tustison N,Avants B,et al.Integrated graph cuts for brain MRI segmentation.Proceedings of Medical Image[J]. Computing and Computer Aided Intervention,2006:831-838.

[4]Kapur T,Grimson W E,Wells W M,et al.Segmentation of brain tissue from magnetic resonance images [J].Medical Image Analysis,1996,1(2):109-127.

[5]Piovano J,Rousson M,Papadopoula T.Efficient segmentation of piecewise smooth image[J].SSVM,2007:709-720.

[6]Shi F,Fan Y,Tang S,et al.Neonatal brain image segmentation in longitudinal MRl studies[J].Neurvlmage,2010,49(1):391-400.

[7]陳志彬,邱天爽,Ruan S,一種基于FCM和Level Set的MRI醫學圖像分割方法[J].電子學報,2008,36(9):1733-1736.

[8]楊丹,趙海濱,龍哲.MATLAB圖像處理實例詳解 [M].北京:清華大學出版社,2013.

[9]劉維.精通Matlab與C/C++混合程序設計[M].第4版.北京:北京航空航天大學出版社,2015.

[10]明日科技.Visual C++從入門到精通[M].第3版.北京:清華大學出版社,2012.

[11]Wang L,Li C,Sun Q,et al,Active contours driven by local and global intensity fitting energy with application to brain MR images segmentation[J].Computerized Medical Imaging and Graphics,October 2009,33(7):520-531.

[12]Wang L,Chen Y,Pan X,et al.Level set segmentation of brain magnetic resonance images based on local Gaussian distribution fitting energy [J].Journal of Neuroscience Methods,2010,188(2):316-325.

[13]霍斯特曼,科內爾.Java核心技術 卷II高級特性[M].陳昊鵬,譯.北京:機械工業出版社,2014.

[14]李東博.HTML5+CSS3從入門到精通[M].北京:清華大學出版社,2013.

[15]李寧,劉巖,張國平.Java Web編程實戰寶典:JSP+Servlet +Struts 2+Hibernate+Spring+Ajax[M].北京:清華大學出版社,2014.

[16]王坤.基于SVPWM的STATCOM設計及實現[J].陜西電力,2011(1):11-15.

[17]朱向東,呼延霄,劉軼,等.基于Matlab/dSPACE的無刷直流電機雙閉環控制實時仿真[J].火箭推進,2015(1):117.

Design and implementation of network API based on image segmentation

FENG Chun-yu1,ZHAO Jian2,ZHAO Yao3
(1.Applied Mathematics Research Institute of Hebei Academy of Science,Shijiazhuang 050081,China;2.Hebei Normal University,Shijiazhuang 050024,China;3.The People’s Bank of China Shijiazhuang Central Sub-Branch,Shijiazhuang 050000,China)

Auto-segment of ventricle through image segmentation algorithm and calculating its area,which can make up the subjectivity and limitation of artificial diagnosis and provide move objective and comprehensive decision support for clinic treatment.Besides,through network API,the complicate algorithm can be run on server,and the user can get what they want by simple operation in web browser.So,this way is not only convenient and efficient,but also low hardware resource requirement.

image segmentation;network API;auxiliary diagnosis;JNI

TN919.8

A

1674-6236(2016)24-0169-04

2015-11-16 稿件編號:201512179

馮春雨(1982—),男,河北邢臺人,碩士,助理研究員。研究方向:機器學習,信息安全及圖像處理。

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 青青青国产精品国产精品美女| 日本不卡在线视频| 色老头综合网| 国产成人精品视频一区二区电影| 亚洲国产高清精品线久久| 国产女同自拍视频| 欧美精品不卡| 制服丝袜无码每日更新| 欧美精品在线视频观看| av一区二区无码在线| 亚洲综合国产一区二区三区| 精品视频一区在线观看| 免费日韩在线视频| 成年人午夜免费视频| 午夜啪啪福利| 亚洲男人的天堂在线观看| 欧美日韩另类在线| 国产无遮挡猛进猛出免费软件| 亚洲无线观看| 精品久久香蕉国产线看观看gif| 麻豆精品在线播放| 国产白浆一区二区三区视频在线| 亚洲天堂区| 中文字幕在线观| 亚洲国语自产一区第二页| 最新国产成人剧情在线播放| 91精品专区国产盗摄| 国产美女免费| 扒开粉嫩的小缝隙喷白浆视频| 精品无码一区二区在线观看| 欧美a网站| 不卡无码网| 激情六月丁香婷婷四房播| 免费看av在线网站网址| 欧美日本在线播放| 日韩精品亚洲精品第一页| 日本黄色不卡视频| 欧美精品在线视频观看| 国产成人高清精品免费软件| 国产美女主播一级成人毛片| 91口爆吞精国产对白第三集| 欧美天天干| 啦啦啦网站在线观看a毛片| 欧美成一级| 91免费国产高清观看| 国产成人精品高清不卡在线| 97久久超碰极品视觉盛宴| 麻豆精品久久久久久久99蜜桃| 在线国产91| 免费在线播放毛片| 国产精品19p| 夜色爽爽影院18禁妓女影院| 国产精品九九视频| 日本色综合网| 成年A级毛片| 精品国产网| 国产亚洲精品97在线观看| AV老司机AV天堂| 国产a在视频线精品视频下载| 青青草综合网| 呦系列视频一区二区三区| 日本在线亚洲| 国产白浆在线| 中文字幕 欧美日韩| 伊人欧美在线| 国产精品思思热在线| 日本不卡在线播放| 国产香蕉在线视频| 色AV色 综合网站| 中文字幕人成人乱码亚洲电影| 久久亚洲国产一区二区| 啪啪国产视频| 国产无码网站在线观看| 亚洲综合极品香蕉久久网| 欧美在线视频不卡第一页| 亚洲一区第一页| 精品国产福利在线| 在线观看国产小视频| 国产黑丝视频在线观看| 91热爆在线| 婷婷综合在线观看丁香| 日韩精品成人网页视频在线 |