[發(fā)明專利]一種超聲報(bào)告數(shù)值自動(dòng)讀取方法及裝置有效
申請(qǐng)?zhí)枺?/td> | 201611185621.7 | 申請(qǐng)日: | 2016-12-20 |
公開(kāi)(公告)號(hào): | CN106599861B | 公開(kāi)(公告)日: | 2019-07-26 |
發(fā)明(設(shè)計(jì))人: | 陳寶定;陳瀟君;張歆;吳新財(cái);郭劍峰;石磊;尚夢(mèng)園;鄭光宇 | 申請(qǐng)(專利權(quán))人: | 江蘇大學(xué)附屬醫(yī)院 |
主分類號(hào): | G06K9/00 | 分類號(hào): | G06K9/00;G06K9/32;G06K9/46;G06K9/38 |
代理公司: | 江蘇縱聯(lián)律師事務(wù)所 32253 | 代理人: | 蔡棟 |
地址: | 212000 *** | 國(guó)省代碼: | 江蘇;32 |
權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
摘要: | |||
搜索關(guān)鍵詞: | 一種 超聲 報(bào)告 數(shù)值 自動(dòng) 讀取 方法 裝置 | ||
1.一種超聲報(bào)告數(shù)值自動(dòng)讀取方法,其特征在于包括以下步驟過(guò)程:連通區(qū)域檢測(cè),數(shù)值區(qū)域提取,數(shù)值行劃分,字符識(shí)別和超聲報(bào)告自動(dòng)生成步驟;
所述的連通區(qū)域檢測(cè)步驟具體如下:
步驟A1,超聲圖像的長(zhǎng)度為L(zhǎng),單位為像素點(diǎn),寬度為W,單位為像素點(diǎn);整體超聲圖像由像素點(diǎn)Point{x,y,used,color}組成,x為該像素點(diǎn)的橫坐標(biāo),y為該像素點(diǎn)的縱坐標(biāo),used用于標(biāo)示該點(diǎn)是否經(jīng)過(guò)計(jì)算,0≤Point.x≤W,0≤Point.y≤L,初始化Point.x=0,Point.y=0,Point.used=0;將超聲圖像二值化處理,得到只有白色或黑色兩種顏色的圖像,其中黑色像素點(diǎn)為背景點(diǎn),設(shè)置Point.color=0;白色像素點(diǎn)為目標(biāo)點(diǎn),設(shè)置Point.color=1;矩形數(shù)據(jù)結(jié)構(gòu)rect{top,left,bottom,right}用于存儲(chǔ)連通區(qū)域,則數(shù)組rect[n]存儲(chǔ)所有的連通區(qū)域,N為連通區(qū)域數(shù)量,初始化n=0;堆棧Stack用于存儲(chǔ)用于計(jì)算的目標(biāo)點(diǎn),初始化空堆棧Stack;
步驟A2,初始化矩形數(shù)據(jù)結(jié)構(gòu)rect,設(shè)置rect.top=L,rect.left=W,rect.bottom=0,rect.right=0;
步驟A3,判斷Point.color是否等于1,如果等于1轉(zhuǎn)入A4,否則轉(zhuǎn)入A6;
步驟A4,判斷Point.used是否等于0,如果是轉(zhuǎn)入A5,否則轉(zhuǎn)入A6;
步驟A5,將Point壓進(jìn)棧Stack,轉(zhuǎn)入A10;
步驟A6,判斷Point.x是否等于W,如果等于W轉(zhuǎn)入A8,否則轉(zhuǎn)入A7;
步驟A7,Point.x=Point.x+1,轉(zhuǎn)入A3;
步驟A8,判斷Point.y是否等于L,如果等于L轉(zhuǎn)入A14,否則轉(zhuǎn)入A9;
步驟A9,Point.x=0,Point.y=Point.y+1,轉(zhuǎn)入A3;
步驟A10,判斷Stack是否為空,如果為空轉(zhuǎn)入步驟A13,否則轉(zhuǎn)入步驟A11;
步驟A11,將Stack中的棧頂元素Point彈出棧,計(jì)算rect[n]的各項(xiàng)數(shù)值
rect.left=min(rect.left,Point.x);rect.top=min(rect.top,Point.y)
rect.right=max(rect.right,Point.x);rect.bottom=max(rect.bottom,Point.y);
步驟A12,查找Point存在的相鄰八個(gè)像素點(diǎn),Point{x-1,y-1,used,color},Point{x-1,y,used,color},Point{x,y,used,color},Point{x,y-1,used,color},Point{x-1,y+1,used,color},Point{x,y+1,used,color},Point{x+1,y,used,color},Point{x+1,y+1,used,color};如果其中的Point.color=1,則將Point壓進(jìn)棧Stack,轉(zhuǎn)入A10;
步驟A13,n=n+1,轉(zhuǎn)入A2;
步驟A14,得到所有連通區(qū)域rect[n],記錄連通區(qū)域數(shù)量N=n;
步驟A15,計(jì)算結(jié)束;
所述的數(shù)值區(qū)域提取步驟具體如下:
步驟B1,矩形數(shù)據(jù)結(jié)構(gòu)word{top,left,bottom,right,line}用于存儲(chǔ)從連通區(qū)域中篩選出來(lái)的數(shù)值區(qū)域,則數(shù)組word[m]存儲(chǔ)所有的數(shù)值區(qū)域,M為數(shù)值區(qū)域數(shù)量,設(shè)定閾值width,height,CD;
步驟B2,采用rect[n]的數(shù)值,計(jì)算w=(rect.right-rect.left)/W,h=(rect.bottom-rect.top)/H;
步驟B3,判斷w是否大于width,如果大于width轉(zhuǎn)入步驟B16,否則轉(zhuǎn)入步驟B4;
步驟B4,判斷h是否大于height,如果大于height轉(zhuǎn)入步驟B16,否則轉(zhuǎn)入步驟B5;
步驟B5,連通區(qū)域中目標(biāo)點(diǎn)總數(shù)Connect,連通區(qū)域中背景點(diǎn)總數(shù)Disconnect,初始化Connect=0,Disconnect=0;Point.x=rect.left,Point.y=rect.top;
步驟B6,判斷Point.color是否等于1,如果等于1轉(zhuǎn)入步驟B7,否則轉(zhuǎn)入步驟B8;
步驟B7,Connect=Connect+1,轉(zhuǎn)入步驟B9;
步驟B8,Disconnect=Disconnect+1,轉(zhuǎn)入步驟B9;
步驟B9,判斷Point.x是否等于rect.right,如果等于rect.right轉(zhuǎn)入步驟B11,否則轉(zhuǎn)入步驟B10;
步驟B10,Point.x=Point.x+1,轉(zhuǎn)入步驟B3;
步驟B11,判斷Point.y是否等于rect.bottom,如果等于rect.bottom轉(zhuǎn)入步驟B13,否則轉(zhuǎn)入步驟B12;
步驟B12,Point.x=0,Point.y=Point.y+1,轉(zhuǎn)入步驟B3;
步驟B13,計(jì)算cd=Connect/Disconnect;
步驟B14,判斷cd是否大于CD,如果大于CD轉(zhuǎn)入步驟B16,否則轉(zhuǎn)入步驟B15
步驟B15,將rect[n]拷貝至word[m],word[m].top=rect[n].top,word[m].left=rect[n].left,word[m].bottom=rect[n].bottom,word[m].right=rect[n].right,word[m].line=-1;
步驟B16,判斷n是否小于N,如果小于N轉(zhuǎn)入步驟B2,否則轉(zhuǎn)入步驟B17;
步驟B17,得到所有數(shù)值區(qū)域word[m];
步驟B18,計(jì)算結(jié)束;
所述的數(shù)值行劃分步驟具體如下:
步驟C1,行集合Line,用于存儲(chǔ)數(shù)值行中所有的數(shù)值區(qū)域,Line[l]為所有的行集合,l為行號(hào),Line[l].length為l行集合的長(zhǎng)度,templ為用于循環(huán)的臨時(shí)行號(hào),tempm為用于循環(huán)的臨時(shí)字號(hào),0≤l≤L,LineNum為數(shù)值行總數(shù),初始化l=0,templ=0,m=0,tempm=0,坐標(biāo)差值閾值MAXY;
步驟C2,判斷word[m].line是否等于-1,如果等于-1轉(zhuǎn)入步驟C3,否則轉(zhuǎn)入步驟C13
步驟C3,templ=0;
步驟C4,判斷templ是否小于L,如果小于L,轉(zhuǎn)入步驟C5,否則轉(zhuǎn)入步驟C12;
步驟C5,tempm=0;
步驟C6,判斷tempm是否小于Line[templ].length,如果小于Line[templ].length,轉(zhuǎn)入步驟C7,否則轉(zhuǎn)入步驟C10;
步驟C7,計(jì)算兩個(gè)數(shù)值區(qū)域中心點(diǎn)垂直方向上的坐標(biāo)差值CenterY,計(jì)算方法為CenterY=|(word[m].bottom-word[m].top)–(Line[templ].word[tempm].bottom-Line[templ].word[tempm].top)|;
步驟C8,判斷CenterY是否小于MAXY,如果小于MAXY,轉(zhuǎn)入步驟C9,否則轉(zhuǎn)入步驟C10;
步驟C9,word[m].line=l,將word[m]放入Line[l]行集合,轉(zhuǎn)入步驟C13;
步驟C10,tempm=tempm+1,轉(zhuǎn)入步驟C6;
步驟C11,templ=templ+1,轉(zhuǎn)入步驟C4;
步驟C12,l=l+1,word[m].line=l,將word[m]放入Line[l]行集合;
步驟C13,m=m+1;
步驟C14,判斷m是否小于M,如果小于M轉(zhuǎn)入步驟C2,否則轉(zhuǎn)入步驟C15;
步驟C15,得到所有的行集合Line[l];
步驟C16,計(jì)算結(jié)束;
所述的字符識(shí)別步驟具體如下:
步驟D1,采用機(jī)器學(xué)習(xí)方法構(gòu)建字符特征庫(kù)矩陣,這里采用的機(jī)器學(xué)習(xí)方法可以是基本神經(jīng)網(wǎng)絡(luò)分類方法,SVM分類方法,深度神經(jīng)網(wǎng)絡(luò)分類方法;
步驟D2,將特征庫(kù)矩陣進(jìn)行PCA轉(zhuǎn)換,減小特征庫(kù)矩陣存儲(chǔ)空間;
步驟D3,初始化l=0,m=0;
步驟D4,判斷l(xiāng)是否小于L,如果小于L,轉(zhuǎn)入步驟D5,否則轉(zhuǎn)入步驟D10;
步驟D5,m=0;
步驟D6,判斷m是否小于Line[l].length,如果小于Line[l].length,轉(zhuǎn)入步驟D7,否則轉(zhuǎn)入步驟D9;
步驟D7,計(jì)算Line[l].word[m]與特征庫(kù)矩陣距離,通過(guò)最小距離判斷Line[l].word[m]的字符,計(jì)算距離的方式可以采用歐式距離或馬氏距離方式;
步驟D8,m=m+1,轉(zhuǎn)入步驟D6;
步驟D9,l=l+1,轉(zhuǎn)入步驟D4;
步驟D10,得到所有數(shù)值行的字符;
步驟D11,計(jì)算結(jié)束;
所述的超聲報(bào)告自動(dòng)生成步驟具體如下:
步驟E1,預(yù)先設(shè)定超聲報(bào)告模版庫(kù),模版庫(kù)由固定內(nèi)容和自動(dòng)讀取內(nèi)容組成,超聲報(bào)告的所有自動(dòng)讀取內(nèi)容為AutoRead[q],與AutoRead[q]對(duì)應(yīng)的單詞為Read[q],0≤q≤Q,q為自動(dòng)讀取內(nèi)容的編號(hào),Q為自動(dòng)讀取內(nèi)容的總數(shù);
步驟E2,初始化q=0;
步驟E3,判斷q是否小于Q,如果小于Q,轉(zhuǎn)入E4,否則轉(zhuǎn)入步驟E10;
步驟E4,初始化l=0;
步驟E5,判斷l(xiāng)是否小于L,如果小于L,轉(zhuǎn)入步驟E6,否則轉(zhuǎn)入步驟E8;
步驟E6,判斷Line[l]中是否包含Read[q]的內(nèi)容,如果包含,轉(zhuǎn)入步驟E7,否則轉(zhuǎn)入步驟E8;
步驟E7,生成自動(dòng)讀取內(nèi)容AutoRead[q],轉(zhuǎn)入步驟E9;
步驟E8,l=l+1,轉(zhuǎn)入步驟E4;
步驟E9,q=q+1,轉(zhuǎn)入步驟E3;
步驟E10,將固定內(nèi)容和自動(dòng)讀取內(nèi)容拼湊,得到完整報(bào)告;
步驟E11,計(jì)算結(jié)束。
2.實(shí)現(xiàn)權(quán)利要求1所述的超聲報(bào)告數(shù)值自動(dòng)讀取方法的裝置,其特征在于包括:連通區(qū)域檢測(cè)模塊,數(shù)值區(qū)域提取模塊,數(shù)值行劃分模塊,字符識(shí)別模塊和超聲報(bào)告管理模塊;
所述的連通區(qū)域檢測(cè)模塊與超聲報(bào)告管理模塊連接;
所述的數(shù)值區(qū)域提取模塊與超聲報(bào)告管理模塊連接;
所述的數(shù)值行劃分模塊與超聲報(bào)告管理模塊連接;
所述的字符識(shí)別模塊與超聲報(bào)告管理模塊連接;
所述的連通區(qū)域檢測(cè)模塊用于進(jìn)行連通區(qū)域的搜索,識(shí)別圖片信息中各類目標(biāo)的連通區(qū)域信息;
所述的數(shù)值區(qū)域提取模塊對(duì)連通區(qū)域分析,提取出超聲數(shù)值區(qū)域;
所述的數(shù)值行劃分模塊用于對(duì)超聲數(shù)值區(qū)域的位置信息進(jìn)行分析,將數(shù)值區(qū)域劃分到不同的行,形成單詞和數(shù)值的行信息;
所述的字符識(shí)別模塊用于分析數(shù)值區(qū)域的具體圖像信息,識(shí)別數(shù)值區(qū)域中的字母字符和數(shù)字字符信息;
所述的超聲報(bào)告管理模塊用于連接和管理各個(gè)部件,合并和管理識(shí)別出來(lái)的字母字符和數(shù)字字符信息,根據(jù)數(shù)值行生成完整的數(shù)據(jù)信息,進(jìn)一步生成報(bào)告信息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于江蘇大學(xué)附屬醫(yī)院,未經(jīng)江蘇大學(xué)附屬醫(yī)院許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611185621.7/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06K 數(shù)據(jù)識(shí)別;數(shù)據(jù)表示;記錄載體;記錄載體的處理
G06K9-00 用于閱讀或識(shí)別印刷或書(shū)寫(xiě)字符或者用于識(shí)別圖形,例如,指紋的方法或裝置
G06K9-03 .錯(cuò)誤的檢測(cè)或校正,例如,用重復(fù)掃描圖形的方法
G06K9-18 .應(yīng)用具有附加代碼標(biāo)記或含有代碼標(biāo)記的打印字符的,例如,由不同形狀的各個(gè)筆畫(huà)組成的,而且每個(gè)筆畫(huà)表示不同的代碼值的字符
G06K9-20 .圖像捕獲
G06K9-36 .圖像預(yù)處理,即無(wú)須判定關(guān)于圖像的同一性而進(jìn)行的圖像信息處理
G06K9-60 .圖像捕獲和多種預(yù)處理作用的組合
- 通用人機(jī)語(yǔ)言命令報(bào)告生成系統(tǒng)及方法
- 用于彈性報(bào)告控制信息的方法和設(shè)備
- 在單個(gè)用戶界面內(nèi)顯示一系列報(bào)告
- 用于彈性報(bào)告控制信息的方法和設(shè)備
- 報(bào)告會(huì)議的實(shí)現(xiàn)方法、服務(wù)器
- 用于分析預(yù)生成數(shù)據(jù)報(bào)告的分析引擎及方法
- 一種基于特種設(shè)備檢驗(yàn)報(bào)告的編輯和預(yù)覽系統(tǒng)
- 一種用于心電監(jiān)測(cè)的自動(dòng)報(bào)告生成方法和系統(tǒng)
- 用于學(xué)術(shù)會(huì)議的學(xué)術(shù)報(bào)告管理方法和管理系統(tǒng)
- 報(bào)告裝置
- 數(shù)值控制方法及數(shù)值控制系統(tǒng)
- 數(shù)值保存系統(tǒng)、數(shù)值保存方法、數(shù)值保存程序和交易系統(tǒng)
- 數(shù)值筆
- 數(shù)值控制機(jī)床及數(shù)值控制裝置
- 數(shù)值控制裝置和數(shù)值控制方法
- 數(shù)值控制裝置以及數(shù)值控制方法
- 數(shù)值控制裝置、數(shù)值控制方法以及數(shù)值控制程序
- 數(shù)值控制裝置、數(shù)值控制方法以及數(shù)值控制程序
- 數(shù)值控制裝置和數(shù)值控制系統(tǒng)
- 數(shù)值控制裝置和數(shù)值控制系統(tǒng)