1.本發明涉及圖像處理技術領域,特別是涉及一種圖像處理方法及系統。
背景技術:
2.自動駕駛車輛可以通過車載傳感系統獲取車輛指定方向的環境信息,例如,包括指定方向上的車輛、人物等,并根據環境信息,進行行車路線規劃。一種實現方式中,通過車輛中的圖像采集設備采集指定方向上的圖像(例如,圖片和/或視頻)。
3.然而,采集到的圖像中可能包含其他用戶的隱私信息,例如,包含人臉和車牌等。為了對隱私信息進行保護,亟需一種圖像處理方法,以對采集到的圖像中的隱私信息進行處理。
技術實現要素:
4.本發明實施例的目的在于提供一種圖像處理方法及系統,以實現自動化上傳待處理圖像文件,對待處理圖像文件中的目標區域進行打碼處理得到目標圖像文件和下載目標圖像文件,可以提高信息的安全性,并提高對待處理圖像文件進行處理的效率。具體技術方案如下:
5.第一方面,為了達到上述目的,本發明實施例提供了一種圖像處理方法,所述方法應用于服務器,所述方法包括:
6.接收終端發送的第一通知消息,并提取所述第一通知消息攜帶的待處理圖像文件的第一存儲路徑;其中,所述第一存儲路徑表示:所述待處理圖像文件的存儲位置;
7.獲取所述第一存儲路徑下的待處理圖像文件;
8.對所述待處理圖像文件中的目標區域進行打碼處理,得到目標圖像文件;
9.將所述目標圖像文件進行存儲,并向終端發送攜帶有所述目標圖像文件的第二存儲路徑的第二通知消息,以使終端在接收到所述第二通知消息時基于所述第二通知消息中攜帶的第二存儲路徑獲取所述目標圖像文件。
10.可選的,所述對所述待處理圖像文件中的目標區域進行打碼處理,得到目標圖像文件,包括:
11.基于所述待處理圖像文件的文件格式,判斷所述待處理圖像文件的類型;其中,所述待處理圖像文件的類型為視頻,或者圖片;
12.若所述待處理圖像文件為視頻,判斷所述待處理圖像文件是否達到預設大小;
13.若所述待處理圖像文件達到所述預設大小,將所述待處理圖像文件加載至所述服務器的磁盤;
14.在所述服務器的磁盤中,對所述待處理圖像文件進行分幀處理,得到所述待處理圖像文件中包含的各圖片;
15.對所述待處理圖像文件中包含的各圖片中的目標區域進行打碼處理,得到目標圖像文件。
16.可選的,所述對所述待處理圖像文件中包含的各圖片中的目標區域進行打碼處理,得到目標圖像文件,包括:
17.將所述服務器的磁盤中的所述待處理圖像文件包含的每一圖片,加載至所述服務器的內存中;
18.針對所述待處理圖像文件包含的每一圖片,在所述服務器的內存中,基于目標檢測算法,確定該圖片中的目標區域;
19.對該圖片中的目標區域進行打碼處理,得到目標圖片;
20.將得到的各目標圖片寫入所述服務器的磁盤;
21.在所述服務器的磁盤中對各目標圖片進行組合,得到目標圖像文件。
22.可選的,還包括:
23.若判斷出所述待處理圖像文件未達到所述預設大小,將所述待處理圖像文件加載至所述服務器的內存;
24.在所述服務器的內存中,對所述待處理圖像文件進行分幀處理,得到所述待處理圖像文件包含的各圖片;
25.針對所述待處理圖像文件包含的每一圖片,在所述服務器的內存中,基于目標檢測算法,確定該圖片中的目標區域;
26.對該圖片中的目標區域進行打碼處理,得到目標圖片;
27.對得到的各目標圖片進行組合,得到目標圖像文件。
28.可選的,還包括:
29.若判斷出所述待處理圖像文件為圖片,將所述待處理圖像文件加載至所述服務器的內存;
30.在所述服務器的內存中,基于目標檢測算法,確定所述待處理圖像文件中的目標區域;
31.對所述待處理圖像文件中的目標區域進行打碼處理,得到目標圖像文件。
32.可選的,所述將所述目標圖像文件進行存儲,并向終端發送攜帶有所述目標圖像文件的第二存儲路徑的第二通知消息,包括:
33.將所述目標圖像文件按照文件名存儲至文件存儲系統中的第二存儲路徑下;其中,所述第二存儲路徑與所述第一存儲路徑相同;
34.對所述目標圖像文件的文件名和所述第二存儲路徑進行拼裝,得到第二通知消息,并向終端發送所述第二通知消息。
35.第二方面,為了達到上述目的,本發明實施例提供了一種圖像處理方法,所述方法應用于終端,所述方法包括:
36.向服務器發送攜帶有待處理圖像文件的第一存儲路徑的第一通知消息,以使所述服務器在接收到所述第一通知消息時,提取所述第一通知消息攜帶的所述第一存儲路徑;獲取所述第一存儲路徑下的待處理圖像文件;對所述待處理圖像文件中的目標區域進行打碼處理,得到目標圖像文件;將所述目標圖像文件進行存儲,并向終端發送攜帶有所述目標圖像文件的第二存儲路徑的第二通知消息;其中,所述第一存儲路徑表示:所述待處理圖像文件的存儲位置;
37.在接收到所述第二通知消息時,基于所述第二通知消息中攜帶的第二存儲路徑獲
取所述目標圖像文件。
38.第三方面,為了達到上述目的,本發明實施例提供了一種圖像處理系統,所述圖像處理系統包括:終端和服務器,其中,
39.所述終端,用于向所述服務器發送攜帶有待處理圖像文件的第一存儲路徑的第一通知消息;
40.所述服務器,用于接收所述終端發送的第一通知消息,并提取所述第一通知消息攜帶的所述第一存儲路徑;其中,所述第一存儲路徑表示:所述待處理圖像文件的存儲位置;獲取所述第一存儲路徑下的待處理圖像文件;對所述待處理圖像文件中的目標區域進行打碼處理,得到目標圖像文件;將所述目標圖像文件進行存儲,并向終端發送攜帶有所述目標圖像文件的第二存儲路徑的第二通知消息;
41.所述終端,還用于在接收到所述第二通知消息時,基于所述第二通知消息中攜帶的第二存儲路徑獲取所述目標圖像文件。
42.本發明實施例還提供了一種電子設備,包括處理器、通信接口、存儲器和通信總線,其中,處理器,通信接口,存儲器通過通信總線完成相互間的通信;
43.存儲器,用于存放計算機程序;
44.處理器,用于執行存儲器上所存放的程序時,實現上述第一方面所述的圖像處理方法步驟,或者上述第二方面所述的圖像處理方法步驟。
45.本發明實施例還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質內存儲有計算機程序,所述計算機程序被處理器執行時實現上述第一方面所述的圖像處理方法步驟,或者上述第二方面所述的圖像處理方法步驟。
46.本發明實施例還提供了一種包含指令的計算機程序產品,當其在計算機上運行時,使得計算機執行上述第一方面所述的圖像處理方法,或者上述第二方面所述的圖像處理方法。
47.本發明實施例提供的一種圖像處理方法,服務器接收終端發送的第一通知消息,并提取第一通知消息攜帶的待處理圖像文件的第一存儲路徑。第一存儲路徑表示待處理圖像文件的存儲位置。服務器獲取第一存儲路徑下的待處理圖像文件。服務器對待處理圖像文件中的目標區域進行打碼處理,得到目標圖像文件。服務器將目標圖像文件進行存儲,并向終端發送攜帶有目標圖像文件的第二存儲路徑的第二通知消息。終端在接收到第二通知消息時,基于第二通知消息中攜帶的第二存儲路徑獲取目標圖像文件。
48.基于上述處理,服務器可以直接按照終端發送的第一通知消息攜帶的第一存儲路徑獲取待處理圖像文件,并對待處理圖像文件中的目標區域進行打碼處理,并且還可以向終端發送攜帶目標圖像文件的第二存儲路徑的第二通知消息。終端則可以按照第二存儲路徑,直接獲取處理后的目標圖像文件。也就是說,可以實現自動化上傳待處理圖像文件,對待處理圖像文件脫敏處理和下載目標圖像文件,可以提高信息的安全性,并提高對待處理圖像文件進行處理的效率。
49.當然,實施本發明的任一產品或方法并不一定需要同時達到以上所述的所有優點。
附圖說明
50.為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,還可以根據這些附圖獲得其他的實施例。
51.圖1為本發明實施例提供的一種圖像處理方法的流程圖;
52.圖2為本發明實施例提供的另一種圖像處理方法的流程圖;
53.圖3為本發明實施例提供的另一種圖像處理方法的流程圖;
54.圖4為本發明實施例提供的另一種圖像處理方法的流程圖;
55.圖5為本發明實施例提供的另一種圖像處理方法的流程圖;
56.圖6為本發明實施例提供的另一種圖像處理方法的流程圖;
57.圖7為本發明實施例提供的另一種圖像處理方法的流程圖;
58.圖8為本發明實施例提供的一種電子設備的結構圖。
具體實施方式
59.下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員基于本技術所獲得的所有其他實施例,都屬于本發明保護的范圍。
60.參見圖1,本發明實施例提供了一種圖像處理方法的流程圖,該方法可以包括以下步驟:
61.s101:終端向服務器發送攜帶有待處理圖像文件的第一存儲路徑的第一通知消息。
62.s102:服務器接收終端發送的第一通知消息,并提取第一通知消息攜帶的第一存儲路徑。
63.其中,第一存儲路徑表示:待處理圖像文件的存儲位置。
64.s103:服務器獲取第一存儲路徑下的待處理圖像文件。
65.s104:服務器對待處理圖像文件中的目標區域進行打碼處理,得到目標圖像文件。
66.s105:服務器將目標圖像文件進行存儲。
67.s106:服務器向終端發送攜帶有目標圖像文件的第二存儲路徑的第二通知消息。
68.s107:終端在接收到第二通知消息時,基于第二通知消息中攜帶的第二存儲路徑獲取目標圖像文件。
69.基于本發明實施例提供的圖像處理方法,服務器可以直接按照終端發送的第一通知消息攜帶的第一存儲路徑獲取待處理圖像文件,并對待處理圖像文件中的目標區域進行打碼處理,并且還可以向終端發送攜帶目標圖像文件的第二存儲路徑的第二通知消息。終端則可以按照第二存儲路徑,直接獲取處理后的目標圖像文件。也就是說,可以實現自動化上傳待處理圖像文件,對待處理圖像文件脫敏處理和下載目標圖像文件,可以提高信息的安全性,并提高對待處理圖像文件進行處理的效率。
70.針對步驟s101和步驟s102,終端可以為具備圖像采集功能的采集車輛中的車載電
子設備(例如,中央域控制器),采集車輛可以在指定地區進行拍攝,得到包含指定地區的環境信息(例如,交通信號燈信息,建筑物信息,路況信息等)的圖像文件(即本發明實施例中的待處理圖像文件),并將拍攝得到的待處理圖像文件上傳至服務器。
71.終端可以通過以下方式將待處理圖像文件上傳至服務器。
72.方式一:
73.終端可以按照待處理圖像文件的文件名,將待處理圖像文件存儲至文件存儲系統。然后,終端可以確定待處理圖像文件在文件存儲系統中的存儲路徑(即第一存儲路徑),并向服務器發送攜帶有第一存儲路徑的第一通知消息。其中,文件存儲系統可以為:s3(simple storage service,簡單存儲服務)。
74.相應的,服務器可以接收終端發送的第一通知消息,并對第一通知消息進行解析,得到待處理圖像文件的第一存儲路徑。
75.方式二:
76.服務器可以為多個,例如,服務器可以包括:數據收容服務器和數據脫敏服務器。其中,數據收容服務器用于獲取終端上傳的待處理圖像文件。數據脫敏服務器用于對待處理圖像文件進行后續處理,各服務器的具體處理方式可以參見后續實施例的相關介紹。
77.終端可以通過數據收容服務器向數據脫敏服務器發送第一通知消息。具體的,終端可以向數據收容服務器發送待處理圖像文件。相應的,數據收容服務器可以接收終端發送的待處理圖像文件,并將接收到的待處理圖像文件存儲至文件存儲系統。
78.然后,數據收容服務器可以向數據脫敏服務器發送攜帶有待處理圖像文件的第一存儲路徑的第一通知消息。例如,數據收容服務器可以對待處理圖像文件的文件名和第一存儲路徑進行封裝,得到對應的kafka(一種高吞吐量的分布式發布訂閱消息系統)消息,作為第一通知消息,并將第一通知消息添加至預設隊列(可以稱為第一預設隊列)。
79.相應的,數據脫敏服務器可以從第一預設隊列中獲取第一通知消息,并對第一通知消息進行解析,得到待處理圖像文件的第一存儲路徑。
80.基于上述處理,如果數據收容服務器直接將待處理圖像文件的第一存儲路徑發送至數據脫敏服務器,當待處理圖像文件較多時,數據脫敏服務器可能不能同時獲取的待處理圖像文件,因此,將待處理圖像文件的第一存儲路徑添加至第一預設隊列后,數據脫敏服務器可以依次從第一預設隊列中獲取每一第一存儲路徑,并依次獲取第一存儲路徑下的待處理圖像文件,可以降低數據脫敏服務器的處理壓力。
81.針對步驟s103,在待處理圖像文件存儲至文件存儲系統的情況下,在獲取到待處理圖像文件的第一存儲路徑之后,服務器可以從文件存儲系統中,獲取第一存儲路徑下的待處理圖像文件。
82.一種實現方式中,當待處理圖像文件為多個時,服務器可以開啟多個處理線程,每一處理線程均用于獲取第一存儲路徑下的待處理圖像文件。
83.基于上述處理,服務器可以通過多個線程,分別獲取第一存儲路徑下的待處理圖像文件,可以提高服務器的處理效率。
84.為了提高服務器對圖像文件進行處理的處理效率,本發明實施例提供的圖像處理方法可以部署于服務器的gpu(graphics processing unit,圖像處理器)。服務器的配置文件中可以配置gpu號碼和每個gpu上開啟的處理線程的數目,便于后續技術人員按照業務需
求對配置文件進行調整,例如,調整每個gpu上開啟的處理線程的數目,以提高gpu的利用率。
85.針對步驟s104,待處理圖像文件中的目標區域可以為待處理圖像文件中包含隱私信息(例如,人臉、車牌等)的區域。服務器可以基于預設的目標檢測算法,對待處理圖像文件進行目標檢測,得到待處理圖像文件中的目標區域。
86.目標檢測算法可以為r-cnn(region convolutional neural network,區域卷積神經網絡)算法,或者,目標檢測算法也可以為yolo(you only look once,基于深度學習的端到端的目標檢測算法),但并不限于此。
87.然后,服務器可以對待處理圖像文件中的目標區域進行打碼處理,得到目標圖像文件。
88.例如,服務器可以將預設圖像(例如,空白圖像)覆蓋待處理圖像文件中的目標區域,或者對目標區域進行馬賽克處理等,得到目標圖像文件。或者,服務器可以將目標區域劃分為多個子區域,并從每一子區域中選取一個像素點(可以稱為指定像素點),將該子區域中其他像素點的像素值調整為指定像素點的像素值,得到目標圖像文件。
89.待處理圖像文件可以為視頻圖像,或者,待處理圖像文件也可以為圖片。對于不同的待處理圖像文件,服務器可以采取不同的處理方式。
90.方式一:
91.在本發明的一個實施例中,在圖1的基礎上,參見圖2,步驟s104可以包括以下步驟:
92.s1041:服務器基于待處理圖像文件的文件格式,判斷待處理圖像文件的類型。
93.其中,待處理圖像文件的類型為視頻,或者圖片。
94.s1042:若待處理圖像文件為視頻,服務器判斷待處理圖像文件是否達到預設大小。
95.s1043:若待處理圖像文件達到預設大小,服務器將待處理圖像文件加載至服務器的磁盤。
96.s1044:在服務器的磁盤中,對待處理圖像文件進行分幀處理,得到待處理圖像文件中包含的各圖片。
97.s1045:服務器對待處理圖像文件中包含的各圖片中的目標區域進行打碼處理,得到目標圖像文件。
98.在接收到待處理圖像文件時,服務器可以確定待處理圖像文件的文件格式,并基于待處理圖像文件的文件格式,判斷待處理圖像文件的類型。例如,待處理圖像文件的文件格式為“avi”,則可以確定待處理圖像文件為視頻。待處理圖像文件的文件格式為“jpg”,則可以確定待處理圖像文件為圖片。
99.在確定出待處理圖像文件為視頻時,服務器可以繼續判斷待處理圖像文件是否達到預設大小。預設大小可以由技術人員根據經驗設置,例如,預設大小可以為40mb,或者預設大小也可以為50mb,但并不限于此。
100.當待處理圖像文件達到預設大小時,如果在服務器的內存中對待處理圖像進行處理,會占用服務器較大的內存,可能會導致服務器的處理效率較低。因此,可以將待處理圖像文件存儲至服務器的磁盤,并在服務器的磁盤中,對待處理圖像文件進行處理,以提高服
務器的處理效率。
101.在待處理圖像文件為視頻時,待處理圖像文件中包含多個圖片,每一圖片中均可能存在涉及隱私信息的目標區域。因此,可以在服務器的磁盤中對待處理圖像文件進行分幀處理,得到待處理圖像文件中包含的各圖片。進而,服務器可以對待處理圖像文件中包含的每一圖片中的目標區域進行打碼處理,得到目標圖像文件。
102.在本發明的一個實施例中,在圖2的基礎上,參見圖3,步驟s1045可以包括以下步驟:
103.s10451:將服務器的磁盤中的待處理圖像文件包含的每一圖片,加載至服務器的內存中。
104.s10452:針對待處理圖像文件包含的每一圖片,在服務器的內存中,基于目標檢測算法,確定該圖片中的目標區域。
105.s10453:服務器對該圖片中的目標區域進行打碼處理,得到目標圖片。
106.s10454:服務器將得到的各目標圖片寫入服務器的磁盤。
107.s10455:在服務器的磁盤中對各目標圖片進行組合,得到目標圖像文件。
108.在得到待處理圖像文件中包含的每一圖片之后,服務器可以依次將待處理圖像文件中包含的每一圖片加載至服務器的內存中,并基于目標檢測算法,在服務器的內存中對待處理圖像文件中包含的每一圖片進行目標檢測,得到該圖片中的目標區域。
109.然后,針對待處理圖像文件中包含的每一圖片,服務器可以對該圖片中的目標區域進行打碼處理,得到目標圖片,并將得到各目標圖片寫入服務器的磁盤。進而,服務器可以通過videowriter(視頻制作)工具,在服務器的磁盤中對各目標圖片進行組合,得到待處理圖像文件對應的目標圖像文件。
110.在本發明的一個實施例中,在圖2的基礎上,參見圖4,該方法還可以包括以下步驟:
111.s1046:若判斷出待處理圖像文件未達到預設大小,將待處理圖像文件加載至服務器的內存。
112.s1047:在服務器的內存中,對待處理圖像文件進行分幀處理,得到待處理圖像文件包含的各圖片。
113.s1048:針對待處理圖像文件包含的每一圖片,在服務器的內存中,基于目標檢測算法,確定該圖片中的目標區域。
114.s1049:對該圖片中的目標區域進行打碼處理,得到目標圖片。
115.s10410:對得到的各目標圖片進行組合,得到目標圖像文件。
116.如果待處理圖像文件為視頻圖像,且待處理圖像文件未達到預設大小,表示待處理圖像文件所占的內存較小,直接在服務器的內存中對待處理圖像文件進行處理不會影響服務器的處理效率。服務器可以直接將待處理圖像文件加載至服務器的內存,并在服務器的內存中對待處理圖像文件進行處理,得到目標圖像文件。對處理圖像文件進行處理的具體方式可以參見前述實施例的相關介紹。
117.方式二:
118.在本發明的一個實施例中,在圖2的基礎上,參見圖5,步驟s104還可以包括以下步驟:
119.s10411:若判斷出待處理圖像文件為圖片,服務器將待處理圖像文件加載至服務器的內存。
120.s10412:在服務器的內存中,基于目標檢測算法,確定待處理圖像文件中的目標區域。
121.s10413:服務器對待處理圖像文件中的目標區域進行打碼處理,得到目標圖像文件。
122.如果待處理圖像文件為圖片,由于圖片所占的內存較小,可以直接將待處理圖像文件加載至服務器的內存。然后,在服務器的內存中,基于目標檢測算法,對待處理圖像文件進行目標檢測,確定待處理圖像文件中的目標區域。進而,服務器可以對待處理圖像文件中的目標區域進行打碼處理,得到目標圖像文件。
123.針對步驟s105和步驟s106,一種實現方式中,在圖1的基礎上,參見圖6,步驟s105可以包括以下步驟:
124.s1051:服務器將目標圖像文件按照文件名存儲至文件存儲系統中的第二存儲路徑下。
125.其中,第二存儲路徑與第一存儲路徑相同。
126.相應的,步驟s106可以包括以下步驟:
127.s1061:服務器對目標圖像文件的文件名和第二存儲路徑進行拼裝,得到第二通知消息,并向終端發送第二通知消息。
128.在得到目標圖像文件之后,服務器可以直接按照目標圖像文件的文件名,將目標圖像文件存儲至文件存儲系統,并確定目標圖像文件在文件存儲系統中的存儲路徑(即第二存儲路徑)。第二存儲路徑與第一存儲路徑相同,也就是將目標圖像文件存儲至與待處理圖像文件相同的存儲路徑。
129.然后,服務器可以對目標圖像文件的文件名和第二存儲路徑進行拼裝,得到對應的kafka消息,作為第二通知消息。進而,向終端發送攜帶有第二存儲路徑的第二通知消息。相應的,終端在接收到第二通知消息時,可以對第二通知消息進行解析,得到第二存儲路徑,并獲取第二存儲路徑下的待處理圖像文件。
130.另一種實現方式中,服務器可以為多個,例如,服務器可以包括數據脫敏服務器和數據交換服務器。其中,數據脫敏服務器用于對待處理圖像文件進行處理得到目標圖像文件,數據交換服務器用于獲取目標圖像文件。數據脫敏服務器可以通過數據交換服務器向終端發送第二通知消息。
131.數據脫敏服務器在將目標圖像文件存儲至文件存儲系統之后,可以將包含目標圖像文件的文件標識存儲至預設隊列(可以稱為第二預設隊列)。相應的,數據交換服務器可以從第二預設隊列中獲取文件標識。目標圖像文件的文件標識包括:目標圖像文件的第二存儲路徑,上傳目標圖像文件對應的待處理圖像文件的終端的設備標識,以及目標圖像文件對應的待處理圖像文件的上傳時間。
132.在獲取到文件標識之后,數據交換服務器可以將獲取到的文件標識存儲至預設數據庫。其中,預設數據庫可以為redis(一種可基于內存,且可持久化的日志型、key-value數據庫),或者,預設數據庫也可以為hbase(一種開源的非關系型分布式數據庫),但并不限于此。
133.終端可以向數據交換服務器發送圖像獲取請求,圖像獲取請求中攜帶有終端標識和時間窗口。
134.后續,在接收到圖像獲取請求時,數據交換服務器可以確定與圖像獲取請求中攜帶的設備標識和時間段標識對應的文件標識(可以稱為目標文件標識),也就是,從預設數據庫中,確定出設備標識與圖像獲取請求攜帶的設備標識相同,且上傳時間屬于圖像獲取請求攜帶的時間窗口的目標文件標識。進而,數據交換服務器可以獲取目標文件標識中的第二存儲路徑,該第二存儲路徑也就是終端請求獲取的目標圖像文件的第二存儲路徑。
135.進而,數據交換服務器可以向終端發送攜帶有第二存儲路徑的第二通知消息。相應的,終端可以從文件存儲系統中,獲取第二存儲路徑下的目標圖像文件。
136.在本發明的一個實施例中,服務器包括數據收容服務器、數據脫敏服務器和數據交換服務器時,終端可以將待處理圖像文件上傳至數據收容服務器,終端將待處理圖像文件上傳至數據收容服務器時,待處理圖像文件可能會發生數據丟失,導致數據收容服務器接收到的待處理圖像文件不是完整的待處理圖像文件。
137.因此,在接收到終端上傳的待處理圖像文件時,數據收容服務器還可以判斷接收到的待處理圖像文件是否發生數據丟失,以根據判定結果進行相應處理。
138.一種實現方式中,終端在上傳待處理圖像文件之前,可以生成用于確定待處理圖像文件是否發生數據丟失的校驗信息,例如,校驗信息可以為crc(cyclic redundancy check,循環冗余校驗)碼。然后,終端可以向數據收容服務器發送待處理圖像文件和對應的校驗信息。
139.相應的,數據收容服務器可以基于接收到的待處理圖像文件對應的crc碼,對接收到的待處理圖像文件進行校驗,以確定待處理圖像文件是否發生數據丟失。進而,數據收容服務器可以在確定待處理圖像文件未發生數據丟失時,將待處理圖像文件存儲至第一存儲系統。
140.另一種實現方式中,待處理圖像文件中攜帶有待處理圖像文件的文件大小。待處理圖像文件中攜帶的文件大小也就是終端上傳該圖像文件時該圖像文件的文件大小。
141.相應的,在接收到待處理圖像文件時,數據收容服務器可以獲取待處理圖像文件中攜帶的文件大小。然后,判斷待處理圖像文件中攜帶的文件大小與接收到的待處理圖像文件的實際文件大小是否相同,待處理圖像文件的實際文件大小也就是數據收容服務器接收到的待處理圖像文件的文件大小。如果待處理圖像文件中攜帶的文件大小與接收到的待處理圖像文件的實際文件大小相同,表明待處理圖像文件未發生數據丟失。進而,數據收容服務器可以將待處理圖像文件存儲至文件存儲系統。
142.基于上述處理,可以確定待處理圖像文件是否發生數據丟失,在一定程度上避免將不完整的待處理圖像文件上傳至文件存儲系統。
143.參見圖7,圖7為本發明實施例提供的另一種圖像處理方法的流程圖,該方法應用于圖像處理系統,該圖像處理系統包括:終端、數據收容服務、s3、數據脫敏服務、數據交換服務。數據收容服務為前述實施例中的數據收容服務器。s3為前述實施例中的文件存儲系統。數據脫敏服務為前述實施例中的數據脫敏服務器。數據交換服務為前述實施例中的數據交換服務器。
144.終端向數據收容服務發送圖像文件。數據收容服務在接收到終端上傳的待處理圖
像文件時,上傳文件到s3。也就是,數據收容服務在接收到終端上傳的待處理圖像文件時,將待處理圖像文件存儲至文件存儲系統。
145.然后,數據收容服務發送kafka消息,也就是,數據收容服務將包含待處理圖像文件的第一存儲路徑的第一通知消息添加至第一預設隊列。
146.數據脫敏服務拉取kafka消息,并對kafka消息進行解析。也就是,數據脫敏服務依次從第一預設隊列中獲取第一通知消息,并獲取第一通知消息中的第一存儲路徑。進而,從文件存儲系統中獲取第一存儲路徑下的待處理圖像文件。待處理圖像文件可以為圖片或者視頻。
147.數據脫敏服務可以判斷將圖片、視頻下載到內存或磁盤。在待處理圖像文件為圖片時,將圖片加載到內存,并在數據脫敏服務的內存中對圖片進行算法識別,以確定圖片中的目標區域。對圖片中的目標區域進行打碼處理,得到目標圖像文件。
148.在待處理圖像文件為視頻時,數據脫敏服務可以判斷視頻大小,也就是判斷待處理圖像文件是否達到預設大小。如果視頻為小視頻,也就是待處理圖像文件未達到預設大小,將視頻加載到內存,并在數據脫敏服務的內存中,將視頻拆解為一組圖片,也就是,對待處理圖像文件進行分幀處理,得到待處理圖像文件包含的各圖片。針對待處理圖像文件中包含的每一圖片,對該圖片進行算法識別以確定該圖片中的目標區域。對該圖片中的目標區域進行打碼處理,得到目標圖片。然后,將各目標圖片合成視頻,得到目標圖像文件。
149.如果視頻為大視頻,也就是待處理圖像文件達到預設大小,將視頻下載到磁盤,并將視頻拆解成一組圖像到磁盤。也就是,將待處理圖像文件加載至數據脫敏服務的磁盤,并在數據脫敏服務的磁盤中,對待處理圖像文件進行分幀處理,得到待處理圖像文件包含的各圖片。將數據脫敏服務的磁盤中的待處理圖像文件中包含的每一圖片加載到數據脫敏服務的內存。針對待處理圖像文件中的每一圖片,在數據脫敏服務的內存中,對該圖片進行算法識別以確定該圖片中的目標區域。對該圖片中的目標區域進行打碼處理得到目標圖片,并將目標圖片寫入數據脫敏服務的磁盤。然后,將各目標圖片合成視頻,得到目標圖像文件,并將目標圖像文件寫入數據脫敏服務的磁盤。
150.在得到目標圖像文件之后,數據脫敏服務可以將目標圖像文件上傳至s3,并發送kafka消息。也就是將目標圖像文件存儲至文件存儲系統,并對目標圖像文件的文件名和第二存儲路徑進行封裝,得到對應的kafka消息,將得到的kafka消息添加至第二預設隊列。
151.數據交換服務可以從第二預設隊列中獲取kafka消息,并將kafka消息中的文件標識和第二存儲路徑對應的存儲至預設數據庫。當需要獲取目標圖像文件時,終端可以向數據交換服務發送圖像獲取請求。在接收到圖像獲取請求時,數據交換服務可以從預設數據庫中獲取圖像獲取請求所指示的目標文件標識中的第二存儲路徑,并向終端發送攜帶有第二存儲路徑的第二通知消息。進而,終端在接收到第二通知消息時,獲取第二通知消息中攜帶的第二存儲路徑,從文件存儲系統中獲取第二存儲路徑下的目標圖像文件。
152.基于上述處理,服務器可以直接按照終端發送的第一通知消息攜帶的第一存儲路徑獲取待處理圖像文件,并對待處理圖像文件中的目標區域進行打碼處理,并且還可以向終端發送攜帶目標圖像文件的第二存儲路徑的第二通知消息。終端則可以按照第二存儲路徑,直接獲取處理后的目標圖像文件。也就是說,可以實現自動化上傳待處理圖像文件,對待處理圖像文件脫敏處理和下載目標圖像文件,可以提高信息的安全性,并提高對待處理
圖像文件進行處理的效率。
153.為本發明實施例還提供了一種圖像處理系統,所述圖像處理系統包括:終端和服務器,其中,
154.所述終端,用于向所述服務器發送攜帶有待處理圖像文件的第一存儲路徑的第一通知消息;
155.所述服務器,用于接收所述終端發送的第一通知消息,并提取所述第一通知消息攜帶的所述第一存儲路徑;其中,所述第一存儲路徑表示:所述待處理圖像文件的存儲位置;獲取所述第一存儲路徑下的待處理圖像文件;對所述待處理圖像文件中的目標區域進行打碼處理,得到目標圖像文件;將所述目標圖像文件進行存儲,并向終端發送攜帶有所述目標圖像文件的第二存儲路徑的第二通知消息;
156.所述終端,還用于在接收到所述第二通知消息時,基于所述第二通知消息中攜帶的第二存儲路徑獲取所述目標圖像文件。
157.基于本發明實施例提供的圖像處理系統,服務器可以直接按照終端發送的第一通知消息攜帶的第一存儲路徑獲取待處理圖像文件,并對待處理圖像文件中的目標區域進行打碼處理,并且還可以向終端發送攜帶目標圖像文件的第二存儲路徑的第二通知消息。終端則可以按照第二存儲路徑,直接獲取處理后的目標圖像文件。也就是說,可以實現自動化上傳待處理圖像文件,對待處理圖像文件脫敏處理和下載目標圖像文件,可以提高信息的安全性,并提高對待處理圖像文件進行處理的效率。
158.本發明實施例還提供了一種電子設備,如圖8所示,包括處理器801、通信接口802、存儲器803和通信總線804,其中,處理器801,通信接口802,存儲器803通過通信總線804完成相互間的通信,
159.存儲器803,用于存放計算機程序;
160.處理器801,用于執行存儲器803上所存放的程序時,實現上述實施例中應用于服務器的圖像處理方法的步驟,或者上述實施例中應用于終端的圖像處理方法的步驟。
161.上述電子設備提到的通信總線可以是外設部件互連標準(peripheral component interconnect,pci)總線或擴展工業標準結構(extended industry standard architecture,eisa)總線等。該通信總線可以分為地址總線、數據總線、控制總線等。為便于表示,圖中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。
162.通信接口用于上述電子設備與其他設備之間的通信。
163.存儲器可以包括隨機存取存儲器(random access memory,ram),也可以包括非易失性存儲器(non-volatile memory,nvm),例如至少一個磁盤存儲器。可選的,存儲器還可以是至少一個位于遠離前述處理器的存儲裝置。
164.上述的處理器可以是通用處理器,包括中央處理器(central processing unit,cpu)、網絡處理器(network processor,np)等;還可以是數字信號處理器(digital signal processor,dsp)、專用集成電路(application specific integrated circuit,asic)、現場可編程門陣列(field-programmable gate array,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。
165.在本發明提供的又一實施例中,還提供了一種計算機可讀存儲介質,該計算機可讀存儲介質內存儲有計算機程序,所述計算機程序被處理器執行時實現上述實施例中應用
于服務器的圖像處理方法的步驟,或者上述實施例中應用于終端的圖像處理方法的步驟。
166.在本發明提供的又一實施例中,還提供了一種包含指令的計算機程序產品,當其在計算機上運行時,使得計算機執行上述實施例中應用于服務器的圖像處理方法的步驟,或者上述實施例中應用于終端的圖像處理方法的步驟。
167.在上述實施例中,可以全部或部分地通過軟件、硬件、固件或者其任意組合來實現。當使用軟件實現時,可以全部或部分地以計算機程序產品的形式實現。所述計算機程序產品包括一個或多個計算機指令。在計算機上加載和執行所述計算機程序指令時,全部或部分地產生按照本發明實施例所述的流程或功能。所述計算機可以是通用計算機、專用計算機、計算機網絡、或者其他可編程裝置。所述計算機指令可以存儲在計算機可讀存儲介質中,或者從一個計算機可讀存儲介質向另一個計算機可讀存儲介質傳輸,例如,所述計算機指令可以從一個網站站點、計算機、服務器或數據中心通過有線(例如同軸電纜、光纖、數字用戶線(dsl))或無線(例如紅外、無線、微波等)方式向另一個網站站點、計算機、服務器或數據中心進行傳輸。所述計算機可讀存儲介質可以是計算機能夠存取的任何可用介質或者是包含一個或多個可用介質集成的服務器、數據中心等數據存儲設備。所述可用介質可以是磁性介質,(例如,軟盤、硬盤、磁帶)、光介質(例如,dvd)、或者半導體介質(例如固態硬盤solid state disk(ssd))等。
168.需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個
……”
限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
169.本說明書中的各個實施例均采用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統、電子設備、計算機可讀存儲介質和計算機程序產品實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
170.以上所述僅為本發明的較佳實施例,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。