System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術實施例涉及圖像識別,具體而言,涉及一種圖像直線的檢測方法、裝置、設備及介質。
技術介紹
1、圖像中直線的檢測是計算機視覺和圖像處理領域的一個重要任務。
2、目前已有的直線檢測方法包括兩種,一種是傳統方法,比如hough變換(霍夫變換),概率霍夫變換,lsd(line?segment?detection,直線段檢測算法)等直線檢測算法;一種是基于深度學習的方法。上述兩種方法對于較大的文檔圖像,檢測速度慢,無法達到實際應用的需求,因此需要進行加速處理。目前,加速檢測方法通??梢苑譃閮深悾活愂菍ι疃葘W習進行量化或者剪枝,降低模型的計算量。另一類是通過硬件對模型進行加速。
3、上述兩類加速技術,前者在加速的同時實際犧牲了計算的準確性;后者需要特定的硬件,且需要進行相關的工程開發,成本也高,應用受限。
技術實現思路
1、本專利技術實施例提供一種圖像直線的檢測方法、裝置、設備及介質,用以在保證直線檢測精度的同時有效提高檢測速度。
2、第一方面,本專利技術實施提供了一種圖像直線的檢測方法,包括:
3、識別原始圖像中的直線,并將識別到的直線劃分為橫線和豎線;
4、按照豎線中心點橫坐標的位置對各條豎線進行排序,以及,按照橫線中心線點縱坐標的位置對各條橫線進行排序;
5、根據排序后的各條豎線的端點位置確定每條豎線所在的豎線區域信息,并將兩個相鄰豎線區域之間的圖像區域作為橫向可刪除區域,其中,豎線區域信息包括豎線區域的原
6、根據排序后的各條橫線的端點位置,確定每條橫線所在的橫線區域信息,并將兩個相鄰橫線區域之間的圖像區域作為縱向可刪除區域,其中,橫線區域信息包括橫線區域的原始上邊界位置和原始下邊界位置;
7、將原始圖像中橫向可刪除區域和縱向可刪除區域進行刪除,并對區域刪除后得到的新圖像進行直線檢測,得到各條直線在新圖像中的端點位置信息;
8、將各條直線在新圖像中的端點位置信息映射到原始圖像中,得到各條直線在原始圖像中所屬直線的端點位置信息。
9、可選的,根據排序后的各條豎線的端點位置確定每條豎線所在的豎線區域信息,包括:
10、按照如下公式確定每條豎線所在的原始左邊界位置和原始右邊界位置:
11、leftxi=max(0,min(xti,xbi)-th)
12、rightxi=min(w,max(xti,xbi)+th)
13、其中,xti表示第i條豎線的第一端點的橫坐標,xbi表示第i條豎線的第二端點的橫坐標,th表示常數,表示直線寬度的設定倍數,w表示原始圖像的寬度,leftxi表示第i條豎線的原始左邊界位置,rightxi表示第i條豎線的原始右邊界位置。
14、可選的,根據排序后的各條橫線的端點位置確定每條橫線所在的橫線區域信息,包括:
15、按照如下公式確定每條橫線所在的原始上邊界位置和原始下邊界位置:
16、topyi=max(0,min(yli,yri)-th)
17、bottomyi=min(h,max(yli,yri)+th)
18、其中,yli表示第i條橫線的第一端點的縱坐標,yri表示第i條橫線的第二端點的縱坐標,th表示常數,表示直線寬度的設定倍數,h表示原始圖像的高度,topyi表示第i條橫線的原始上邊界位置,bottomyi表示第i條橫線的原始下邊界位置。
19、可選的,對區域刪除后得到的新圖像進行直線檢測,得到各條直線在所述新圖像中的端點位置信息,包括:
20、確定區域刪除后得到的新圖像中各條橫線的新的左邊界位置和新的右邊界位置,以及各條豎線的新的上邊界位置和新的下邊界位置;
21、根據各條橫線的新的左邊界位置和新的右邊界位置,以及各條豎線的新的上邊界位置和新的下邊界位置,并基于深度直線檢測模型進行直線檢測,得到各條豎線和各條橫線在新圖像中的端點位置信息。
22、可選的,確定區域刪除后得到的新圖像中各條橫線的新的左邊界位置和新的右邊界位置,以及各條豎線的新的上邊界位置和新的下邊界位置,包括:
23、按照如下公式,確定區域刪除后得到的新圖像中各條豎線的新的左邊界位置和新的右邊界位置:
24、
25、s1_rightxi=s1_leftxi+rightxi-leftxi
26、并且,按照如下公式,確定區域刪除后得到的新圖像中各條橫線的新的上邊界位置和新的下邊界位置:
27、
28、s1_bottomyj=s1_topyj+bottomyj-topyj
29、其中,s1_leftxi、s1_rightxi分別表示第i條豎線在所述新圖像中的新的左邊界的橫坐標和新的右邊界的橫坐標,rightxk、leftxk分別表示第k條豎線在所述原始圖像中的原始左邊界的橫坐標和原始右邊界的橫坐標;s1_topyj、s1_bottomyj分別表示第j條橫線在所述新圖像中的新的上邊界的縱坐標和新的下邊界的縱坐標,topyk、bottomyk分別表示第k條橫線在所述原始圖像中的原始上邊界的橫坐標和原始下邊界的縱坐標。
30、可選的,將各條直線在新圖像中的端點位置信息映射到原始圖像中,得到各條直線在原始圖像中所屬直線的端點位置信息,包括:
31、對于所述深度直線檢測模型得到的每一條目標檢測直線,分別確定在所述新圖像中該目標檢測直線的兩個端點所在的區域信息,所述區域信息包括各端點橫坐標對應的第一區域信息,以及各端點縱坐標對應的第二區域信息;
32、根據所述目標檢測直線的端點位置信息、所述區域信息及其在所述原始圖像中對應的原始邊界位置信息,將所述目標檢測直線映射的所述原始圖像中,得到該目標檢測直線在所述原始圖像中所屬直線的端點位置信息。
33、可選的,根據所述目標檢測直線的端點位置信息、所述區域信息及其在所述原始圖像中對應的原始邊界位置信息,將所述目標檢測直線映射的所述原始圖像中,得到該目標檢測直線在所述原始圖像中所屬直線的端點位置信息,包括:
34、在所述目標檢測直線為豎線的情況下,按照如下公式,分別確定在所述新圖像中該目標檢測直線的兩個端點的橫坐標對應的第一區域信息:
35、s1_leftxi≤cps_xp1≤s1_rightxi
36、s1_leftxi≤cps_xp2≤s1_rightxi
37、相應的,按照如下公式,確定各條目標檢測直線在所述原始圖像中所屬直線的橫坐標:
38、fin_xp1=leftxi+cps_xp1-s1_leftxi
39、fin_xp2=leftxi+cps_xp2-s1_leftxi
40、并且,按照如下公式,分別確定在所述新圖像中該目標檢測直線的兩個端點的縱坐標對應的第二區域信息:本文檔來自技高網...
【技術保護點】
1.一種圖像直線的檢測方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述根據排序后的各條豎線的端點位置確定每條豎線所在的豎線區域信息,包括:
3.根據權利要求2所述的方法,其特征在于,所述根據排序后的各條橫線的端點位置確定每條橫線所在的橫線區域信息,包括:
4.根據權利要求1-3任一所述的方法,其特征在于,所述對區域刪除后得到的新圖像進行直線檢測,得到各條直線在所述新圖像中的端點位置信息,包括:
5.根據權利要求1-4任一所述的方法,其特征在于,所述確定區域刪除后得到的新圖像中各條橫線的新的左邊界位置和新的右邊界位置,以及各條豎線的新的上邊界位置和新的下邊界位置,包括:
6.根據權利要求4所述的方法,其特征在于,所述將各條直線在所述新圖像中的端點位置信息映射到所述原始圖像中,得到各條直線在所述原始圖像中所屬直線的端點位置信息,包括:
7.根據權利要求1-6任一所述的方法,其特征在于,所述根據所述目標檢測直線的端點位置信息、所述區域信息及其在所述原始圖像中對應的原始邊界位置信息,將所述目標
8.一種圖像直線的檢測裝置,其特征在于,包括:
9.一種計算設備,其特征在于,所述計算設備包括:
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,該程序被處理器執行時實現如權利要求1-7中任一所述的圖像直線的檢測方法。
...【技術特征摘要】
1.一種圖像直線的檢測方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述根據排序后的各條豎線的端點位置確定每條豎線所在的豎線區域信息,包括:
3.根據權利要求2所述的方法,其特征在于,所述根據排序后的各條橫線的端點位置確定每條橫線所在的橫線區域信息,包括:
4.根據權利要求1-3任一所述的方法,其特征在于,所述對區域刪除后得到的新圖像進行直線檢測,得到各條直線在所述新圖像中的端點位置信息,包括:
5.根據權利要求1-4任一所述的方法,其特征在于,所述確定區域刪除后得到的新圖像中各條橫線的新的左邊界位置和新的右邊界位置,以及各條豎線的新的上邊界位置和新的下邊界位置,包括:
6.根據權利要求4所...
【專利技術屬性】
技術研發人員:王言偉,劉雙葉,程敬東,馬如玉,孟慶超,史長亮,楊英,李垚,
申請(專利權)人:北京中安未來科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。