国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種對圖片進行馬賽克處理的方法及裝置制造方法

      文檔序號:6629308閱讀:431來源:國知局
      一種對圖片進行馬賽克處理的方法及裝置制造方法
      【專利摘要】本發(fā)明的實施例公開一種對圖片進行馬賽克處理的方法及裝置。該方法包括:創(chuàng)建待分享圖片對應的內存圖形對象,并設置內存圖形對象對應的圖層相對待分享圖片對應的圖層透明;將待分享圖片拷貝至內存圖形對象;選取待處理馬賽克區(qū)域并按照預設的畫筆粒度進行分區(qū),計算每一分區(qū)的內存圖形對象中內存數據的平均值并更新該分區(qū);利用馬賽克待處理區(qū)域中每一分區(qū)更新的內存數據,將馬賽克待處理區(qū)域中的每一分區(qū)重繪制到待分享圖片中,得到馬賽克圖片;將預先設置的分享控件加載至馬賽克圖片,接收用戶通過馬賽克圖片上的分享控件觸發(fā)的分享信息,將馬賽克圖片分享到分享控件鏈接的用戶網絡分享空間中。應用本發(fā)明,可以提升圖片處理效率。
      【專利說明】一種對圖片進行馬賽克處理的方法及裝置

      【技術領域】
      [0001] 本發(fā)明涉及圖形處理技術,尤其涉及一種對圖片進行馬賽克處理的方法及裝置。

      【背景技術】
      [0002] 隨著通信技術的不斷發(fā)展,移動通信設備,例如,移動電話、個人數字助理、移動筆 記本的應用也越來越普遍,由于移動通信設備中都內置或外置有攝像頭,因而,用戶可以隨 時隨地拍攝圖片,并可以將拍攝的圖片或對拍攝的圖像進行進一步的截圖處理后,分享到 網絡。
      [0003] 由于圖片(包括用戶拍攝的圖片以及進行截圖處理后得到的截圖圖片)中可能包 含有一些涉及個人隱私的內容,因而,用戶在將圖片分享到網絡之前,需要對圖片中包含個 人隱私的內容部分進行馬賽克處理,即將圖片中包含個人隱私的特定區(qū)域的色階細節(jié)進行 劣化處理,以造成色塊打亂的效果,使得特定區(qū)域的圖片模糊,不易或無法辨認。
      [0004] 圖1為現有對圖片進行馬賽克處理的方法流程示意圖。參見圖1,以用戶對拍攝的 圖像進行截圖處理,并將截圖圖片分享到網絡為例,該流程包括:
      [0005] 步驟101,對拍攝圖片進行截圖處理,得到截圖圖片;
      [0006] 本步驟中,啟動截圖處理應用程序,對拍攝圖片進行裁剪操作后,獲得需要在網絡 上進行分享的截圖圖片。
      [0007] 步驟102,存儲截圖圖片,退出當前截圖處理應用程序界面;
      [0008] 本步驟中,對于將整張拍攝圖片進行分享的情形,在拍攝得到拍攝圖片后,直接存 儲該拍攝圖片。
      [0009] 步驟103,啟動馬賽克處理應用程序,并在馬賽克應用程序界面中導入存儲的截圖 圖片;
      [0010] 本步驟中,截圖圖片以及拍攝圖片為用于窗口顯不的設備上下文句柄(HDC, Handle to Device Context),其中,設備上下文(DC,Device Context)可用于繪制到屏 幕、打印機或者圖元文件,封裝有用于繪制線條、形狀和文本的Windows API函數,HDC是 一種包含有相關設備,例如,顯示器或打印機繪制屬性信息的Windows數據結構,所有HDC 繪制都通過設備上下文調用Windows API函數進行,Windows API函數為圖形設備接口 (⑶I,Graphics Device Interface)函數,例如,繪圖函數(BitBltO函數)、劃線函數 (LineToO)以及輸出文字函數(TextOutO)等,可以對HDC進行編輯和修改。
      [0011] 步驟104,選取導入的截圖圖片中的待處理區(qū)域,對待處理區(qū)域進行馬賽克處理, 獲取馬賽克圖片;
      [0012] 本步驟中,待處理區(qū)域為截圖圖片中包含個人隱私內容的部分。可以采用 Photoshop應用程序中的濾鏡功能進行馬賽克處理。例如,在截圖圖片上需要進行馬賽克處 理的區(qū)域進行矩形選擇,得到待處理區(qū)域,然后,選擇Photoshop應用程序中的濾鏡功能, 并設置好馬賽克參數后,通過調用相關函數獲取截圖圖片中每一像素點的像素值,按照馬 賽克參數進行處理后,將處理得到的像素值替換截圖圖片中該像素點的像素值,并依序對 待處理區(qū)域中的每一像素點進行相同處理,從而得到馬賽克圖片。
      [0013] 步驟105,存儲獲取的馬賽克圖片,退出當前馬賽克處理應用程序界面;
      [0014] 步驟106,訪問用戶網絡分享空間,將存儲的馬賽克圖片導入到所述用戶網絡分享 空間中。
      [0015] 由上述可見,現有對圖片進行馬賽克處理的方法,由于需要對HDC待處理區(qū)域中 的每一像素點調用相關函數進行馬賽克處理,處理效率較低;進一步地,進行圖片馬賽克處 理需要切換各應用程序界面,操作較為繁瑣,也降低了處理效率;而且,在對圖片進行馬賽 克處理的過程中,需要存儲截圖圖片以及馬賽克圖片等中間處理圖片,所需的存儲空間較 大。


      【發(fā)明內容】

      [0016] 有鑒于此,本發(fā)明實施例提供一種對圖片進行馬賽克處理的方法及裝置,提升圖 片處理效率。
      [0017] 為達到上述目的,本發(fā)明的實施例采用如下技術方案:
      [0018] 一方面,本發(fā)明實施例提供一種對圖片進行馬賽克處理的方法,包括:
      [0019] 獲取待分享圖片;
      [0020] 創(chuàng)建所述待分享圖片對應的內存圖形對象,并設置所述內存圖形對象對應的圖層 相對所述待分享圖片對應的圖層透明;
      [0021] 將所述待分享圖片拷貝至所述內存圖形對象;
      [0022] 在所述待分享圖片中選取待處理馬賽克區(qū)域,并按照預先設置的畫筆粒度對選取 的待處理馬賽克區(qū)域進行分區(qū),計算每一分區(qū)的各像素點對應的內存圖形對象中內存數據 的平均值,更新該分區(qū)對應的內存數據;
      [0023] 利用馬賽克待處理區(qū)域中每一分區(qū)更新的內存數據,將所述馬賽克待處理區(qū)域中 的每一分區(qū)重繪制到待分享圖片中,得到馬賽克圖片;
      [0024] 將預先設置的分享控件加載至所述馬賽克圖片,接收用戶通過馬賽克圖片上的分 享控件觸發(fā)的分享信息,將馬賽克圖片分享到所述分享控件鏈接的用戶網絡分享空間中。
      [0025] 本發(fā)明實施例提供的對圖片進行馬賽克處理的方法,將截圖處理、馬賽克處理以 及分享應用集成在一個應用程序界面,當完成截圖后,將截圖轉換為內存圖形對象,并通過 設置的畫筆選取待處理馬賽克區(qū)域,基于畫筆粒度計算待處理馬賽克區(qū)域中內存數據的平 均值作為新的內存數據,繪制生成馬賽克圖片,并通過分享控件將馬賽克圖片進行分享。這 樣,通過將待分享圖片轉為內存圖形對象,可以通過直接修改內存圖形對象的內存數據的 方式實現馬賽克處理,提高了馬賽克處理效率;進一步地,進行圖片馬賽克處理無需切換各 應用程序界面,操作簡單,提升了馬賽克處理效率。
      [0026] 另一方面,本發(fā)明實施例提供一種對圖片進行馬賽克處理的裝置,包括:獲取模 塊、內存圖形對象創(chuàng)建模塊、內存數據更新模塊、繪制模塊以及分享模塊,其中,
      [0027] 獲取模塊,用于獲取待分享圖片;
      [0028] 內存圖形對象創(chuàng)建模塊,用于創(chuàng)建所述待分享圖片對應的內存圖形對象,并設置 所述內存圖形對象對應的圖層相對所述待分享圖片對應的圖層透明,并將所述待分享圖片 拷貝至所述內存圖形對象;
      [0029] 內存數據更新模塊,用于在所述待分享圖片中選取待處理馬賽克區(qū)域,并按照預 先設置的畫筆粒度對選取的待處理馬賽克區(qū)域進行分區(qū),計算每一分區(qū)的各像素點對應的 內存圖形對象中內存數據的平均值,更新該分區(qū)對應的內存數據;
      [0030] 繪制模塊,用于利用馬賽克待處理區(qū)域中每一分區(qū)更新的內存數據,將所述馬賽 克待處理區(qū)域中的每一分區(qū)重繪制到待分享圖片中,得到馬賽克圖片;
      [0031] 分享模塊,用于將預先設置的分享控件加載至所述馬賽克圖片,接收用戶通過馬 賽克圖片上的分享控件觸發(fā)的分享指令,將馬賽克圖片分享到所述分享控件鏈接的用戶網 絡分孕空間中。
      [0032] 本發(fā)明實施例提供的對圖片進行馬賽克處理的裝置,獲取模塊在獲取待分享圖片 后,內存圖形對象創(chuàng)建模塊將待分享圖片轉換為內存圖形對象,內存數據更新模塊通過設 置的畫筆選取待處理馬賽克區(qū)域,基于畫筆粒度計算待處理馬賽克區(qū)域中內存數據的平均 值作為新的內存數據,繪制模塊基于新的內存數據進行重繪制生成馬賽克圖片,分享模塊 通過分享控件將馬賽克圖片進行分享。這樣,將待分享圖片轉為內存圖形對象,可以直接修 改內存圖形對象的內存數據的方式實現馬賽克處理,提高了馬賽克處理效率;進一步地,進 行圖片馬賽克處理無需切換各應用程序界面,操作簡單,提升了馬賽克處理效率。

      【專利附圖】

      【附圖說明】
      [0033] 為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據這些附圖獲得其它的附圖。
      [0034] 圖1為現有對圖片進行馬賽克處理的方法流程示意圖;
      [0035] 圖2為本發(fā)明實施例對圖片進行馬賽克處理的方法流程示意圖;
      [0036] 圖3為本發(fā)明實施例對圖片進行馬賽克處理的裝置結構示意圖。

      【具體實施方式】
      [0037] 下面結合附圖對本發(fā)明實施例進行詳細描述。
      [0038] 應當明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其 它實施例,都屬于本發(fā)明保護的范圍。
      [0039] 圖2為本發(fā)明實施例對圖片進行馬賽克處理的方法流程示意圖。參見圖2,該方法 包括:
      [0040] 步驟201,獲取待分享圖片;
      [0041] 本步驟中,作為可選實施例,獲取待分享圖片包括:
      [0042] 對拍攝圖片進行截圖處理,得到待分享圖片。
      [0043] 本步驟中,截圖包括:矩形截圖、方形截圖、圓形截圖、橢圓形截圖、多邊形截圖以 及其他不規(guī)則形截圖。
      [0044] 作為另一可選實施例,獲取待分享圖片包括:
      [0045] 將拍攝圖片作為待分享圖片。
      [0046] 本發(fā)明實施例中,待分享圖片為HDC。
      [0047] 步驟202,創(chuàng)建所述待分享圖片對應的內存圖形對象,并設置所述內存圖形對象對 應的圖層相對所述待分享圖片對應的圖層透明;
      [0048] 本步驟中,由于待分享圖片為HDC,在進行馬賽克處理時,需要依序調用相關函數 選取HDC待處理區(qū)域中的每一像素點,使得處理效率較低。因而,本發(fā)明實施例中,考慮將 待分享圖片轉換為以內存數據進行存儲的內存圖形對象,例如,位圖(Bitmap)進行處理, 以提升馬賽克處理效率。
      [0049] 本發(fā)明實施例中,設置內存圖形對象對應的圖層相對待分享圖片對應的圖層透 明,即內存圖形對象位于待分享圖片的底端并不可見,使得在當前顯示界面中顯示的是待 分享圖片,從而便于用戶在后續(xù)流程中,對待分享圖片進行選取操作,并能使用戶對待分享 圖片的操作映射為對內存圖形對象的操作。
      [0050] 作為可選實施例,創(chuàng)建所述待分享圖片對應的內存圖形對象包括:
      [0051] A11,調用 CreateBitmap 函數、CreateBitmapIndirect 函數或 CreateCompatibleBitmap函數在內存中創(chuàng)建空白位圖;
      [0052] 本步驟中,創(chuàng)建的空白位圖可以是一個單位數組占位符,尺寸可以為1*1像素。
      [0053] A12,調用SelectObject函數編輯創(chuàng)建的空白位圖,以使所述創(chuàng)建的空白位圖的 尺寸與所述待分享圖片尺寸相同。
      [0054] 本步驟中,通過擴展單位數組尺寸,使得擴展的單位數組(位圖)尺寸與待分享圖 片尺寸一致,且該擴展的單位數組與待分享圖片顏色格式兼容。
      [0055] 步驟203,將所述待分享圖片拷貝至所述內存圖形對象;
      [0056] 本步驟中,在創(chuàng)建對應的內存圖形對象Bitmap后,將上下文句柄中待分享圖片的 內容拷貝到Bitmap中,例如,作為可選實施例,可以通過調用CreateCompatibleDC來獲取 設備上下文句柄,并將獲取的設備上下文句柄轉換為位圖兼容的顏色格式對應的內存數 據,即構建待分享圖片中的像素點位置坐標與內存圖形對象的內存數據的地址映射關系。
      [0057] 本發(fā)明實施例中,內存圖形對象可以以內存圖形對象內存數據的起始地址(長度 坐標和寬度坐標)以及內存圖形對象內存數據的范圍(長度和寬度)來標識。
      [0058] 步驟204,在所述待分享圖片中選取待處理馬賽克區(qū)域,并按照預先設置的畫筆粒 度對選取的待處理馬賽克區(qū)域進行分區(qū),計算每一分區(qū)的各像素點對應的內存圖形對象中 內存數據的平均值,更新該分區(qū)對應的內存數據;
      [0059] 本步驟中,待處理馬賽克區(qū)域也可以以待處理馬賽克區(qū)域各像素點的位置坐標 (長度坐標和寬度坐標)、待處理馬賽克區(qū)域的范圍(長度和寬度)進行標識。
      [0060] 本發(fā)明實施例中,可以按照預先設置的畫筆半徑來選取待處理馬賽克區(qū)域。其中, 畫筆可以是靜態(tài)畫筆,也可以是動態(tài)畫筆。因而,作為一可選實施例,選取待處理馬賽克區(qū) 域包括:
      [0061] B11,預先設置用于選取待處理馬賽克區(qū)域的畫筆半徑;
      [0062] 本步驟中,作為可選實施例,畫筆可以根據顯示的馬賽克的實際需要,設置為方 形,半徑可結合需要選取的待處理馬賽克區(qū)域大小以及用戶對待處理馬賽克區(qū)域選取的精 度來確定,畫筆半徑越大,覆蓋的區(qū)域范圍也越大。例如,如果待處理馬賽克區(qū)域較大,用戶 對待處理馬賽克區(qū)域選取的精度(對馬賽克區(qū)域邊界的選取精度)較低,則可以設置較大 的畫筆半徑;反之,需要設置較小的畫筆半徑。較佳地,畫筆半徑設置為畫筆粒度的整數倍。
      [0063] 當然,實際應用中,畫筆也可以設置為其他形狀,例如,矩形、圓形、不規(guī)則形等。
      [0064] B12,監(jiān)測到用戶操作與所述待分享圖片接觸,確定選取操作開始;
      [0065] 本步驟中,用戶可以通過拖動操作來選取待處理馬賽克區(qū)域。
      [0066] 作為可選實施例,為了區(qū)別用戶操作是點擊操作還是拖動操作,在監(jiān)測到用戶操 作與所述待分享圖片接觸之后,該方法進一步包括:
      [0067] 確定用戶操作與所述待分享圖片接觸的時間大于預先設置的接觸時間閾值,執(zhí)行 所述確定選取操作開始,否則,不作處理。
      [0068] 本步驟中,如果用戶操作與所述待分享圖片接觸的時間不大于預先設置的接觸時 間閾值,表明用戶只是普通的點擊操作。
      [0069] 本發(fā)明實施例中,用戶操作包括:鼠標操作、觸摸筆操作以及手指操作等,本發(fā)明 實施例對此不作限定。
      [0070] B13,監(jiān)測到用戶操作與所述待分享圖片脫離接觸,確定選取操作結束;
      [0071] 本步驟中,如果用戶操作與所述待分享圖片脫離接觸,表明用戶結束選取操作。
      [0072] 本發(fā)明實施例中,較佳地,該方法還可以進一步包括:
      [0073] 在確定選取操作開始時啟動計時器;
      [0074] 在確定選取操作結束時讀取計時器計時時間,如果讀取的計時時間小于預先設置 的計時時間閾值,不作處理,如果不小于,執(zhí)行步驟B14。
      [0075] B14,將選取操作開始至選取操作結束之間畫筆在所述待分享圖片中滑動形成的 區(qū)域作為待處理馬賽克區(qū)域。
      [0076] 本步驟中,通過監(jiān)測用戶操作的滑動操作,可以獲取待處理馬賽克區(qū)域。
      [0077] 相應地,作為一可選實施例,按照預先設置的畫筆粒度對選取的待處理馬賽克區(qū) 域進行分區(qū),計算每一分區(qū)的各像素點對應的內存圖形對象中內存數據的平均值,更新該 分區(qū)對應的內存數據可以包括:
      [0078] C11,以畫筆中心點為中心,以畫筆粒度為單位,遍歷畫筆半徑覆蓋的區(qū)域;
      [0079] 本步驟中,以方形靜態(tài)畫筆為例,如果用戶設置的畫筆半徑大小為40像素,畫筆 粒度為10像素,則畫筆半徑覆蓋的區(qū)域為以用戶在屏幕上點擊的坐標點為中心,半徑40像 素的方形,每一分區(qū)大小為10像素。
      [0080] 本發(fā)明實施例中,如果畫筆半徑不是畫筆粒度的整數倍,則最后得到的分區(qū)以實 際區(qū)域為準。
      [0081] C12,讀取畫筆粒度標識,如果該畫筆粒度標識為馬賽克標識,讀取下一畫筆粒度 標識,否則,計算畫筆粒度內各像素點的內存數據的平均值;
      [0082] 本步驟中,將畫筆半徑覆蓋的區(qū)域以畫筆粒度進行分區(qū),讀取每一分區(qū)的分區(qū)標 識(畫筆粒度標識),以確定該分區(qū)是否已執(zhí)行馬賽克處理,對于已處理的分區(qū),則繼續(xù)讀 取下一分區(qū),對于未處理的分區(qū),進行內存數據處理。
      [0083] 本發(fā)明實施例中,內存數據包括:紅色內存數據、綠色內存數據以及藍色內存數 據。因而,內存數據的平均值包括:紅色內存數據平均值、綠色內存數據平均值以及藍色內 存數據平均值。
      [0084] 作為一可選實施例,計算畫筆粒度內各像素點的內存數據的平均值包括:
      [0085] C121,根據畫筆半徑覆蓋的區(qū)域換算出內存圖形對象中對應的像素點的內存數據 起始地址以及內存數據范圍;
      [0086] 本步驟中,在前述創(chuàng)建所述待分享圖片對應的內存圖形對象時,已構建待分享圖 片中的像素點位置坐標與內存圖形對象中對應該像素點的內存數據地址的映射關系。
      [0087] C122,計算內存數據范圍包含的畫筆粒度數量;
      [0088] C123,對于每一畫筆粒度,獲取畫筆粒度在畫筆半徑覆蓋的區(qū)域內的位置坐標信 息,換算出內存圖形對象中該畫筆粒度內對應像素點的內存數據起始地址以及畫筆粒度內 存數據范圍;
      [0089] 本步驟中,對于第一個畫筆粒度,可以設置該畫筆粒度對應像素點的內存數據起 始地址與步驟C121換算出的內存圖形對象中對應的像素點的內存數據起始地址相同。每 一內存數據對應一內存數據起始地址(長度起始地址和寬度起始地址)。
      [0090] C124,計算畫筆粒度內存數據范圍內各內存數據的平均值。
      [0091] 本發(fā)明實施例中,根據畫筆半徑覆蓋的方形區(qū)域可以換算出在內存圖形對象 Bitmap中的像素點的內存數據起始地址以及內存數據范圍,然后,在X(長度方向)和Y方 向(寬度方向)上,每隔10個像素(畫筆粒度大?。?,循環(huán)計算該范圍內所有像素點內存數 據的R、G、B分量平均值,如果靠近區(qū)域邊界的方形寬度或高度不足10像素,以實際像素點 內存數據的R、G、B分量平均值為準。
      [0092] C13,利用計算得到的平均值替換該畫筆粒度內各像素點的內存數據,并標記該畫 筆粒度標識為馬賽克標識。
      [0093] 本步驟中,在用戶動態(tài)拖動畫筆半徑的過程中,動態(tài)變化的畫筆半徑覆蓋的區(qū)域 會有相互重疊,由于依據變化的畫筆半徑對畫筆粒度覆蓋的區(qū)域進行實時內存數據處理, 可能導致相互重疊區(qū)域的重復計算,本發(fā)明實施例中,通過為已進行內存數據處理的分區(qū) 設置分區(qū)標識,如果該分區(qū)標識表示該分區(qū)已進行過內存數據處理,則跳過該分區(qū),從而可 以有效降低計算量,減少馬賽克處理所需的時間,提升馬賽克處理效率。
      [0094] 實際應用中,也可以將計算得到的平均值與該畫筆粒度內各像素點的內存數據分 別進行加權求和,得到每一像素點的加權值,并利用加權值替換該畫筆粒度內對應像素點 的內存數據。
      [0095] 其中,加權值計算公式如下:
      [0096]
      [0097] 式中,

      【權利要求】
      1. 一種對圖片進行馬賽克處理的方法,其特征在于,該方法包括: 獲取待分孚圖片; 創(chuàng)建所述待分享圖片對應的內存圖形對象,并設置所述內存圖形對象對應的圖層相對 所述待分享圖片對應的圖層透明; 將所述待分享圖片拷貝至所述內存圖形對象; 在所述待分享圖片中選取待處理馬賽克區(qū)域,并按照預先設置的畫筆粒度對選取的待 處理馬賽克區(qū)域進行分區(qū),計算每一分區(qū)的各像素點對應的內存圖形對象中內存數據的平 均值,更新該分區(qū)對應的內存數據; 利用馬賽克待處理區(qū)域中每一分區(qū)更新的內存數據,將所述馬賽克待處理區(qū)域中的每 一分區(qū)重繪制到待分享圖片中,得到馬賽克圖片; 將預先設置的分享控件加載至所述馬賽克圖片,接收用戶通過馬賽克圖片上的分享控 件觸發(fā)的分享信息,將馬賽克圖片分享到所述分享控件鏈接的用戶網絡分享空間中。
      2. 根據權利要求1所述的方法,其特征在于,所述選取待處理馬賽克區(qū)域包括: 預先設置用于選取待處理馬賽克區(qū)域的畫筆半徑; 監(jiān)測到用戶操作與所述待分享圖片接觸,確定選取操作開始; 監(jiān)測到用戶操作與所述待分享圖片脫離接觸,確定選取操作結束; 將選取操作開始至選取操作結束之間畫筆在所述待分享圖片中滑動形成的區(qū)域作為 待處理馬賽克區(qū)域。
      3. 根據權利要求2所述的方法,其特征在于,所述用戶操作包括:鼠標操作、觸摸筆操 作以及手指操作。
      4. 根據權利要求1所述的方法,其特征在于,所述選取待處理馬賽克區(qū)域包括: 預先設置用于選取待處理馬賽克區(qū)域的畫筆半徑; 監(jiān)測到用戶操作點擊所述待分享圖片,以點擊點為中心,確定畫筆半徑所在區(qū)域,得到 用戶操作區(qū)域; 判斷當前用戶操作與上一用戶操作的距離不超過預先設置的距離閾值,獲取上一用戶 操作區(qū)域與當前用戶操作畫筆半徑所在區(qū)域的共有區(qū)域,得到當前用戶操作區(qū)域; 確認用戶操作結束,將得到的共有區(qū)域作為待處理馬賽克區(qū)域。
      5. 根據權利要求1所述的方法,其特征在于,所述選取待處理馬賽克區(qū)域包括: 獲取用戶選取待處理馬賽克區(qū)域所選擇的選取工具; 用戶依據選取工具選取的區(qū)域作為待處理馬賽克區(qū)域。
      6. 根據權利要求2或3或4所述的方法,其特征在于,所述按照預先設置的畫筆粒度對 選取的待處理馬賽克區(qū)域進行分區(qū),計算每一分區(qū)的各像素點對應的內存圖形對象中內存 數據的平均值,更新該分區(qū)對應的內存數據包括: 以畫筆中心點為中心,以畫筆粒度為單位,遍歷畫筆半徑覆蓋的區(qū)域; 讀取畫筆粒度標識,如果該畫筆粒度標識為馬賽克標識,讀取下一畫筆粒度標識,否 貝1J,計算畫筆粒度內各像素點的內存數據的平均值; 利用計算得到的平均值替換該畫筆粒度內各像素點的內存數據,并標記該畫筆粒度標 識為馬賽克標識。
      7. 根據權利要求6所述的方法,其特征在于,所述內存數據包括:紅色內存數據、綠色 內存數據以及藍色內存數據。
      8. 根據權利要求6所述的方法,其特征在于,所述計算畫筆粒度內各像素點的內存數 據的平均值包括: 根據畫筆半徑覆蓋的區(qū)域換算出內存圖形對象中對應的像素點的內存數據起始地址 以及內存數據范圍; 計算內存數據范圍包含的畫筆粒度數量; 對于每一畫筆粒度,獲取畫筆粒度在畫筆半徑覆蓋的區(qū)域內的位置坐標信息,換算出 內存圖形對象中該畫筆粒度內對應像素點的內存數據起始地址以及畫筆粒度內存數據范 圍; 計算畫筆粒度內存數據范圍內各內存數據的平均值。
      9. 根據權利要求2或3或4或5所述的方法,其特征在于,所述按照預先設置的畫筆粒 度對選取的待處理馬賽克區(qū)域進行分區(qū),計算每一分區(qū)的各像素點對應的內存圖形對象中 內存數據的平均值,更新該分區(qū)對應的內存數據包括: 以畫筆粒度為單位對待處理馬賽克區(qū)域進行分區(qū); 分別計算每一分區(qū)內各像素點的內存數據的平均值; 利用計算得到的平均值以及像素點的內存數據更新對應分區(qū)內各像素點的內存數據。
      10. 根據權利要求9所述的方法,其特征在于,所述方法進一步包括: 統(tǒng)計邊緣分區(qū)中含有邊緣信息的像素點個數以及總像素點個數,計算含有邊緣信息的 像素點個數與總像素點個數的比值,如果比值大于預先設置的比值閾值,則對該邊緣分區(qū) 進行等分處理。
      11. 根據權利要求1所述的方法,其特征在于,所述創(chuàng)建所述待分享圖片對應的內存圖 形對象包括: 調用 CreateBitmap 函數、CreateBitmapIndirect 函數或 CreateCompatibleBitmap 函 數在內存中創(chuàng)建空白位圖; 調用SelectObject函數編輯創(chuàng)建的空白位圖,以使所述創(chuàng)建的空白位圖的尺寸與所 述待分享圖片尺寸相同。
      12. 根據權利要求1所述的方法,其特征在于,所述待分享圖片包括:拍攝圖片以及對 拍攝圖片進行截圖處理得到的圖片。
      13. 根據權利要求1所述的方法,其特征在于,所述內存圖形對象為位圖,所述待分享 圖片為設備上下文句柄。
      14. 一種對圖片進行馬賽克處理的裝置,其特征在于,該裝置包括:獲取模塊、內存圖 形對象創(chuàng)建模塊、內存數據更新模塊、繪制模塊以及分享模塊,其中, 獲取模塊,用于獲取待分享圖片; 內存圖形對象創(chuàng)建模塊,用于創(chuàng)建所述待分享圖片對應的內存圖形對象,并設置所述 內存圖形對象對應的圖層相對所述待分享圖片對應的圖層透明,并將所述待分享圖片拷貝 至所述內存圖形對象; 內存數據更新模塊,用于在所述待分享圖片中選取待處理馬賽克區(qū)域,并按照預先設 置的畫筆粒度對選取的待處理馬賽克區(qū)域進行分區(qū),計算每一分區(qū)的各像素點對應的內存 圖形對象中內存數據的平均值,更新該分區(qū)對應的內存數據; 繪制模塊,用于利用馬賽克待處理區(qū)域中每一分區(qū)更新的內存數據,將所述馬賽克待 處理區(qū)域中的每一分區(qū)重繪制到待分享圖片中,得到馬賽克圖片; 分享模塊,用于將預先設置的分享控件加載至所述馬賽克圖片,接收用戶通過馬賽克 圖片上的分享控件觸發(fā)的分享指令,將馬賽克圖片分享到所述分享控件鏈接的用戶網絡分 孕空間中。
      15. 根據權利要求14所述的裝置,其特征在于,所述內存圖形對象創(chuàng)建模塊包括:創(chuàng)建 單元、編輯單元、設置單元以及拷貝單元,其中, 創(chuàng)建單兀,用于調用CreateBitmap函數、CreateBitmapIndirect函數或 CreateCompatibleBitmap函數在內存中創(chuàng)建空白位圖; 編輯單元,用于調用SelectObject函數編輯創(chuàng)建的空白位圖,以使所述創(chuàng)建的空白位 圖的尺寸與所述待分享圖片尺寸相同; 設置單元,用于設置所述內存圖形對象對應的圖層相對所述待分享圖片對應的圖層透 明; 拷貝單元,用于將所述待分享圖片拷貝至所述內存圖形對象。
      16. 根據權利要求14所述的裝置,其特征在于,所述內存數據更新模塊包括:監(jiān)測單 元、馬賽克區(qū)域生成單元、計算單元以及更新單元,其中, 監(jiān)測單元,用于監(jiān)測到用戶操作與所述待分享圖片接觸,確定選取操作開始,監(jiān)測到用 戶操作與所述待分享圖片脫離接觸,確定選取操作結束; 馬賽克區(qū)域生成單元,用于將選取操作開始至選取操作結束之間畫筆在所述待分享圖 片中滑動形成的區(qū)域作為待處理馬賽克區(qū)域; 計算單元,用于在選取操作開始至選取操作結束的過程中,以畫筆中心點為中心,以畫 筆粒度為單位,遍歷畫筆半徑覆蓋的區(qū)域;讀取畫筆粒度標識,如果該畫筆粒度標識為馬 賽克標識,讀取下一畫筆粒度標識,否則,計算畫筆粒度內各像素點的內存數據的平均加權 值; 更新單元,用于利用計算得到的平均加權值替換該畫筆粒度內各像素點的內存數據, 并標記該畫筆粒度標識為馬賽克標識。
      17. 根據權利要求14所述的裝置,其特征在于,所述內存數據更新模塊包括:第二監(jiān)測 單元、第二計算單元以及第二更新單元,其中, 第二監(jiān)測單元,用于監(jiān)測到用戶操作點擊所述待分享圖片,以點擊點為中心,確定畫筆 半徑所在區(qū)域,得到用戶操作區(qū)域,通知第二計算單元; 第二計算單元,用于根據接收的通知,以畫筆中心點為中心,以畫筆粒度為單位,遍歷 畫筆半徑覆蓋的區(qū)域;讀取畫筆粒度標識,如果該畫筆粒度標識為馬賽克標識,讀取下一畫 筆粒度標識,否則,計算畫筆粒度內各像素點的內存數據的平均加權值; 第二更新單元,用于利用計算得到的平均加權值替換該畫筆粒度內各像素點的內存數 據,并標記該畫筆粒度標識為馬賽克標識。
      18. 根據權利要求14所述的裝置,其特征在于,所述內存數據更新模塊包括:第三監(jiān)測 單元、馬賽克區(qū)域第三生成單元、第三計算單元以及第三更新單元,其中, 第三監(jiān)測單元,用于監(jiān)測到用戶操作點擊所述待分享圖片,以點擊點為中心,確定畫筆 半徑所在區(qū)域,得到用戶操作區(qū)域; 馬賽克區(qū)域第三生成單元,用于判斷當前用戶操作與上一用戶操作的距離不超過預先 設置的距離閾值,獲取上一用戶操作區(qū)域與當前用戶操作畫筆半徑所在區(qū)域的共有區(qū)域, 得到當前用戶操作區(qū)域;確認用戶操作結束,將得到的共有區(qū)域作為待處理馬賽克區(qū)域; 第三計算單元,用于以畫筆中心點為中心,以畫筆粒度為單位,遍歷待處理馬賽克區(qū) 域,分別計算每一畫筆粒度內各像素點的內存數據的平均加權值; 第三更新單元,用于利用計算得到的平均加權值替換該畫筆粒度內各像素點的內存數 據。
      19. 根據權利要求14所述的裝置,其特征在于,所述內存數據更新模塊包括:內存數據 更新模塊包括:監(jiān)測單元、馬賽克區(qū)域生成單元、第四計算單元以及第四更新單元,其中, 監(jiān)測單元,用于監(jiān)測到用戶操作與所述待分享圖片接觸,確定選取操作開始,監(jiān)測到用 戶操作與所述待分享圖片脫離接觸,確定選取操作結束; 馬賽克區(qū)域生成單元,用于將選取操作開始至選取操作結束之間畫筆在所述待分享圖 片中滑動形成的區(qū)域作為待處理馬賽克區(qū)域; 第四計算單元,用于以畫筆中心點為中心,以畫筆粒度為單位,遍歷待處理馬賽克區(qū) 域,分別計算每一畫筆粒度內各像素點的內存數據的平均加權值; 第四更新單元,用于利用計算得到的平均加權值替換該畫筆粒度內各像素點的內存數 據。
      20. 根據權利要求17至19任一項所述的裝置,其特征在于,利用下式計算所述內存數 據的平均加權值: ψ^ξ?Τ + ^-ξ?Π ,) 式中, L為第i個像素點的內存數據的平均加權值; ξ為加權系數,為大于0而小于等于1的實數; S7為分區(qū)中各內存數據的平均值; R為第i個像素點的的內存數據值。
      21. 根據權利要求14至19任一項所述的裝置,其特征在于,所述分享模塊包括:加載 單元、分享指令接收單元以及分享單元,其中, 加載單元,用于在生成馬賽克圖片后,在生成的馬賽克圖片上加載預先設置的分享控 件; 分享指令接收單元,用于接收用戶通過馬賽克圖片上的分享控件觸發(fā)的分享指令,通 知分享單元; 分享單元,用于根據接收的通知,將馬賽克圖片分享到所述分享控件鏈接的用戶網絡 分享空間中。
      【文檔編號】G06T3/40GK104299186SQ201410522628
      【公開日】2015年1月21日 申請日期:2014年9月30日 優(yōu)先權日:2014年9月30日
      【發(fā)明者】羅璇, 雷賢聰 申請人:珠海市君天電子科技有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1