本技術涉及計算機,尤其涉及一種數據處理方法、裝置、設備及可讀存儲介質。
背景技術:
1、現有4鄰域、8鄰域等搜索電路是在整個圖像上計算像素點的坐標,從而得到中心點與其鄰域點的坐標數據,在復雜的圖像處理中,像素點維度高,計算量大,直接計算坐標數據所需譯碼、解碼次數多,電路性能低。并且現有技術只能針對中心點預設的鄰域方向,無法在3鄰域、4鄰域、5鄰域、8鄰域等鄰域方向之間通用,通用性低。
技術實現思路
1、本技術實施例提供了一種數據處理方法、裝置、設備及可讀存儲介質,可以提高鄰域搜索電路的性能和通用性。
2、本技術實施例一方面提供了一種數據處理方法,包括:
3、將目標圖像對應的像素數據輸入處理器中的搜索加速引擎,在搜索加速引擎中獲取像素數據中的初始輪廓點對應的鄰域搜索矩陣;初始輪廓點為目標圖像中表征圖像輪廓的像素點,鄰域搜索矩陣是以初始輪廓點為中心點的矩陣;
4、對鄰域搜索矩陣進行行移位,得到鄰域搜索矩陣對應的上變換矩陣、中心變換矩陣和下變換矩陣,在上變換矩陣中確定上移位行、在中心變換矩陣中確定中心移位行、在下變換矩陣中確定下移位行;
5、對上移位行、中心移位行和下移位行分別進行列移位,得到m個變換行,通過m個變換行確定n個鄰域點在鄰域搜索矩陣中的坐標,基于n個鄰域點在鄰域搜索矩陣中的坐標,將n個鄰域點中與初始輪廓點具有業務輪廓關系的鄰域點確定為目標輪廓點,通過目標輪廓點對應的鄰域搜索矩陣,繼續遍歷出新的目標輪廓點,直至遍歷完目標圖像中表征圖像輪廓的像素點;m和n為正整數,n小于或等于m。
6、其中,鄰域搜索矩陣為包含k行乘l列的像素點的矩陣,初始輪廓點在鄰域搜索矩陣的第i行,k、l和i為正整數,對鄰域搜索矩陣進行行移位,得到鄰域搜索矩陣對應的上變換矩陣、中心變換矩陣和下變換矩陣,基于初始輪廓點,在上變換矩陣中確定上移位行、在中心變換矩陣中確定中心移位行、在下變換矩陣中確定下移位行,包括:
7、將鄰域搜索矩陣的k行向上移動一行,得到上變換矩陣,將上變換矩陣中的第i行確定為上移位行;上變換矩陣為k-1行乘l列的像素點的矩陣;
8、構建與鄰域搜索矩陣相同的中心變換矩陣,將中心變換矩陣中的第i行確定為中心移位行;
9、將鄰域搜索矩陣的k行向下移動一行,得到下變換矩陣,將下變換矩陣中的第i行確定為下移位行;下變換矩陣為k-1行乘l列的像素點的矩陣。
10、其中,對上移位行、中心移位行和下移位行分別進行列移位,得到m個變換行,包括:
11、將上移位行向右移動一列,得到第一個變換行,構建與上移位行相同的第二個變換行,將上移位行向左移動一列,得到第三個變換行;
12、將中心移位行向右移動一列,得到第四個變換行,構建與中心移位相同的第五個變換行,將中心移位行向左移動一列,得到第六個變換行;
13、將下移位行向右移動一列,得到第七個變換行,構建與下移位行相同的第八個變換行,將下移位行向左移動一列,得到第九個變換行。
14、其中,n個領域點包括上方位鄰域點、中心方位鄰域點和下方位鄰域點,通過m個變換行確定n個鄰域點在鄰域搜索矩陣中的坐標,包括:
15、通過第一個變換行、第二個變換行和第三個變換行,確定上方位鄰域點以及上方位鄰域點的坐標;上方位鄰域點包括左上鄰域點、上鄰域點和右上鄰域點;
16、通過第四個變換行、第五個變換行和第六個變換行,確定中心方位鄰域點以及中心方位鄰域點的坐標;中心方位鄰域點包括左鄰域點、中心鄰域點和右鄰域點;
17、通過第七個變換行、第八個變換行和第九個變換行,確定下方位鄰域點以及下方位鄰域點的坐標;下方位鄰域點包括左下鄰域點、下鄰域點和右下鄰域點。
18、其中,初始輪廓點在鄰域搜索矩陣的第j列,j為正整數,通過第一個變換行、第二個變換行和第三個變換行,確定上方位鄰域點以及上方位鄰域點的坐標,包括:
19、將第一個變換行的第j列確定為左上鄰域點,將第j列的列序號以及第一個變換行的行序號確定為左上鄰域點的坐標;
20、將第二個變換行的第j列確定為上鄰域點,將第j列的列序號以及第二個變換行的行序號確定為上鄰域點的坐標;
21、將第三個變換行的第j列確定為右上鄰域點,將第j列的列序號以及第三個變換行的行序號確定為右上鄰域點的坐標。
22、其中,初始輪廓點在鄰域搜索矩陣的第j列,j為正整數,通過第四個變換行、第五個變換行和第六個變換行,確定中心方位鄰域點以及中心方位鄰域點的坐標,包括:
23、將第四個變換行的第j列確定為左鄰域點,將第j列的列序號以及第四個變換行的行序號確定為左鄰域點的坐標;
24、將第五個變換行的第j列確定為中心鄰域點,將第j列的列序號以及第五個變換行的行序號確定為中心鄰域點的坐標;
25、將第六個變換行的第j列確定為右鄰域點,將第j列的列序號以及第六個變換行的行序號確定為右鄰域點的坐標。
26、其中,初始輪廓點在鄰域搜索矩陣的第j列,j為正整數,通過第七個變換行、第八個變換行和第九個變換行,確定下方位鄰域點以及下方位鄰域點的坐標,包括:
27、將第七個變換行的第j列確定為左下鄰域點,將第j列的列序號以及第七個變換行的行序號確定為左下鄰域點的坐標;
28、將第八個變換行的第j列確定為下鄰域點,將第j列的列序號以及第八個變換行的行序號確定為下鄰域點的坐標;
29、將第九個變換行的第j列確定為右下鄰域點,將第j列的列序號以及第九個變換行的行序號確定為右下鄰域點的坐標。
30、其中,還包括:
31、獲取業務圖像,在業務圖像的像素點中,將灰度值大于或者等于業務灰度閾值的像素點,確定為白像素點,將灰度值小于業務灰度閾值的像素點,確定為黑像素點;
32、將白像素點的灰度值設置為第一灰度值,將黑像素點的灰度值設置為第二灰度值,得到由白像素點和黑像素點組成的灰度圖,對灰度圖進行連通域標記,得到目標圖像。
33、其中,對灰度圖進行連通域標記,得到目標圖像,包括:
34、在灰度圖的像素點中隨機確定種子像素點,在種子像素點的相鄰像素點中,將與種子像素點滿足連通閾值條件的相鄰像素點標記為新的種子像素點,直至遍歷完灰度圖中的像素點,將具有相同標記的種子像素點確定為同一個連通域;
35、在灰度圖中未被標記的像素點中繼續確定新的連通域,直至在灰度圖中的像素點均被標記時,得到目標圖像。
36、其中,將目標圖像對應的像素數據輸入處理器中的搜索加速引擎,在搜索加速引擎中獲取像素數據中的初始輪廓點對應的鄰域搜索矩陣,包括:
37、在搜索加速引擎中隨機確定目標圖像中的初始連通域,在初始連通域中隨機確定初始像素點,若初始像素點的n個相鄰像素點中存在至少一個與初始連通域的標記不同的相鄰像素點,則將與初始連通域的標記不同的相鄰像素點確定為初始輪廓點,否則重新確定初始像素點;n為正整數;
38、基于初始輪廓點、與初始連通域的標記不同的相鄰像素點對應的連通域與初始連通域,確定初始輪廓點對應的鄰域搜索矩陣。
39、其中,基于n個鄰域點在鄰域搜索矩陣中的坐標,將n個鄰域點中與初始輪廓點具有業務輪廓關系的鄰域點確定為目標輪廓點,包括:
40、基于n個鄰域點在鄰域搜索矩陣中的坐標,確定n個鄰域點的遍歷順序;
41、獲取n個鄰域點的灰度值,基于n個鄰域點的遍歷順序,將最先被遍歷到且灰度值與初始輪廓點相同的鄰域點確定為目標輪廓點。
42、本技術實施例一方面提供了一種數據處理裝置,包括:
43、初始處理模塊,用于將目標圖像對應的像素數據輸入處理器中的搜索加速引擎,在搜索加速引擎中獲取像素數據中的初始輪廓點對應的鄰域搜索矩陣;初始輪廓點為目標圖像中表征圖像輪廓的像素點,鄰域搜索矩陣是以初始輪廓點為中心點的矩陣;
44、行移位模塊,用于對鄰域搜索矩陣進行行移位,得到鄰域搜索矩陣對應的上變換矩陣、中心變換矩陣和下變換矩陣,在上變換矩陣中確定上移位行、在中心變換矩陣中確定中心移位行、在下變換矩陣中確定下移位行;
45、鄰域處理模塊,用于對上移位行、中心移位行和下移位行分別進行列移位,得到m個變換行,通過m個變換行確定n個鄰域點在鄰域搜索矩陣中的坐標,基于n個鄰域點在鄰域搜索矩陣中的坐標,將n個鄰域點中與初始輪廓點具有業務輪廓關系的鄰域點確定為目標輪廓點,通過目標輪廓點對應的鄰域搜索矩陣,繼續遍歷出新的目標輪廓點,直至遍歷完目標圖像中表征圖像輪廓的像素點;m和n為正整數,n小于或等于m。
46、其中,鄰域搜索矩陣為包含k行乘l列的像素點的矩陣,初始輪廓點在鄰域搜索矩陣的第i行,k、l和i為正整數,行移位模塊,包括:
47、第一矩陣變換單元,用于將鄰域搜索矩陣的k行向上移動一行,得到上變換矩陣,將上變換矩陣中的第i行確定為上移位行;上變換矩陣為k-1行乘l列的像素點的矩陣;
48、第二矩陣變換單元,用于構建與鄰域搜索矩陣相同的中心變換矩陣,將中心變換矩陣中的第i行確定為中心移位行;
49、第三矩陣變換單元,用于將鄰域搜索矩陣的k行向下移動一行,得到下變換矩陣,將下變換矩陣中的第i行確定為下移位行;下變換矩陣為k-1行乘l列的像素點的矩陣。
50、其中,鄰域處理模塊,包括:
51、第一行變換單元,用于將上移位行向右移動一列,得到第一個變換行,構建與上移位行相同的第二個變換行,將上移位行向左移動一列,得到第三個變換行;
52、第二行變換單元,用于將中心移位行向右移動一列,得到第四個變換行,構建與中心移位相同的第五個變換行,將中心移位行向左移動一列,得到第六個變換行;
53、第三行變換單元,用于將下移位行向右移動一列,得到第七個變換行,構建與下移位行相同的第八個變換行,將下移位行向左移動一列,得到第九個變換行。
54、其中,鄰域處理模塊,包括:
55、上方位變換單元,用于通過第一個變換行、第二個變換行和第三個變換行,確定上方位鄰域點以及上方位鄰域點的坐標;上方位鄰域點包括左上鄰域點、上鄰域點和右上鄰域點;
56、中心方位變換單元,用于通過第四個變換行、第五個變換行和第六個變換行,確定中心方位鄰域點以及中心方位鄰域點的坐標;中心方位鄰域點包括左鄰域、中心鄰域和右鄰域;
57、下方位變換單元,用于通過第七個變換行、第八個變換行和第九個變換行,確定下方位鄰域點以及下方位鄰域點的坐標;下方位鄰域點包括左下鄰域點、下鄰域點和右下鄰域點。
58、其中,上方位變換單元,包括:
59、第一鄰域確定子單元,用于將第一個變換行的第j列確定為左上鄰域點,將第j列的列序號以及第一個變換行的行序號確定為左上鄰域點的坐標;
60、第二鄰域確定子單元,用于將第二個變換行的第j列確定為上鄰域點,將第j列的列序號以及第二個變換行的行序號確定為上鄰域點的坐標;
61、第三鄰域確定子單元,用于將第三個變換行的第j列確定為右上鄰域點,將第j列的列序號以及第三個變換行的行序號確定為右上鄰域點的坐標。
62、其中,中心方位變換單元,包括:
63、第四鄰域確定子單元,用于將第四個變換行的第j列確定為左鄰域點,將第j列的列序號以及第四個變換行的行序號確定為左鄰域點的坐標;
64、第五鄰域確定子單元,用于將第五個變換行的第j列確定為中心鄰域點,將第j列的列序號以及第五個變換行的行序號確定為中心鄰域點的坐標;
65、第六鄰域確定子單元,用于將第六個變換行的第j列確定為右鄰域點,將第j列的列序號以及第六個變換行的行序號確定為右鄰域點的坐標。
66、其中,下方位變換單元,包括:
67、第七鄰域確定子單元,用于將第七個變換行的第j列確定為左下鄰域點,將第j列的列序號以及第七個變換行的行序號確定為左下鄰域點的坐標
68、第八鄰域確定子單元,用于將第八個變換行的第j列確定為下鄰域點,將第j列的列序號以及第八個變換行的行序號確定為下鄰域點的坐標;
69、第九鄰域確定子單元,用于將第九個變換行的第j列確定為右下鄰域點,將第j列的列序號以及第九個變換行的行序號確定為右下鄰域點的坐標。
70、其中,還包括:
71、二值化處理模塊,用于獲取業務圖像,在業務圖像的像素點中,將灰度值大于或者等于業務灰度閾值的像素點,確定為白像素點,將灰度值小于業務灰度閾值的像素點,確定為黑像素點;
72、二值化處理模塊,還用于將白像素點的灰度值設置為第一灰度值,將黑像素點的灰度值設置為第二灰度值,得到由白像素點和黑像素點組成的灰度圖,對灰度圖進行連通域標記,得到目標圖像。
73、其中,二值化處理模塊,包括:
74、種子確定單元,用于在灰度圖的像素點中隨機確定種子像素點,在種子像素點的相鄰像素點中,將與種子像素點滿足連通閾值條件的相鄰像素點標記為新的種子像素點,直至遍歷完灰度圖中的像素點,將具有相同標記的種子像素點確定為同一個連通域;
75、連通域標記單元,用于在灰度圖中未被標記的像素點中繼續確定新的連通域,直至在灰度圖中的像素點均被標記時,得到目標圖像。
76、其中,初始處理模塊,包括:
77、初始輪廓確定單元,用于在搜索加速引擎中隨機確定目標圖像中的初始連通域,在初始連通域中隨機確定初始像素點,若初始像素點的n個相鄰像素點中存在至少一個與初始連通域的標記不同的相鄰像素點,則將與初始連通域的標記不同的相鄰像素點確定為初始輪廓點,否則重新確定初始像素點;n為正整數;
78、初始矩陣確定單元,用于基于初始輪廓點、與初始連通域的標記不同的相鄰像素點對應的連通域與初始連通域,確定初始輪廓點對應的鄰域搜索矩陣。
79、其中,鄰域處理模塊,具體用于基于n個鄰域點在鄰域搜索矩陣中的坐標,確定n個鄰域點的遍歷順序;獲取n個鄰域點的灰度值,基于n個鄰域點的遍歷順序,將最先被遍歷到且灰度值與初始輪廓點相同的鄰域點確定為目標輪廓點。
80、本技術實施例一方面提供了一種計算機設備,包括:處理器、存儲器以及網絡接口;
81、處理器與存儲器、網絡接口相連,其中,網絡接口用于提供數據通信功能,存儲器用于存儲計算機程序,計算機程序被處理器執行時,使得該計算機設備執行本技術實施例提供的方法。
82、本技術實施例一方面提供了一種計算機可讀存儲介質,計算機可讀存儲介質存儲有計算機程序,該計算機程序適于由處理器加載并執行,以使得具有該處理器的計算機設備執行本技術實施例提供的方法。
83、本技術實施例一方面提供了一種計算機程序產品,該計算機程序產品包括計算機程序,該計算機程序存儲在計算機可讀存儲介質中。計算機設備的處理器從計算機可讀存儲介質讀取該計算機程序,處理器執行該計算機程序,使得該計算機設備執行本技術實施例提供的方法。
84、本技術實施例通過將目標圖像對應的像素數據輸入處理器中的搜索加速引擎,在搜索加速引擎中獲取像素數據中的初始輪廓點對應的鄰域搜索矩陣;初始輪廓點為目標圖像中表征圖像輪廓的像素點,鄰域搜索矩陣是以初始輪廓點為中心點的矩陣;對鄰域搜索矩陣進行行移位,得到鄰域搜索矩陣對應的上變換矩陣、中心變換矩陣和下變換矩陣,在上變換矩陣中確定上移位行、在中心變換矩陣中確定中心移位行、在下變換矩陣中確定下移位行;對上移位行、中心移位行和下移位行分別進行列移位,得到m個變換行,通過m個變換行確定n個鄰域點在鄰域搜索矩陣中的坐標,基于n個鄰域點在鄰域搜索矩陣中的坐標,將n個鄰域點中與初始輪廓點具有業務輪廓關系的鄰域點確定為目標輪廓點,通過目標輪廓點對應的鄰域搜索矩陣,繼續遍歷出新的目標輪廓點,直至遍歷完目標圖像中表征圖像輪廓的像素點;m和n為正整數,n小于或等于m。由此可見,本技術實施例可以通過在確定初始輪廓點后生成鄰域搜索矩陣,鄰域搜索矩陣的維度遠小于整個圖像的像素點維度,從而降低芯片進行鄰域搜索的計算量,通過初始輪廓點所在的行列進行變換,得到各個方向的鄰域點,可以減少計算鄰域點坐標數據的譯碼、解碼步驟,提高鄰域搜索電路的性能,在行列變換得到的各個方向的鄰域點中,覆蓋了平面上所有的鄰域方向,能夠讓鄰域搜索電路在不同鄰域需求中通用。