版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機視覺項目開發實戰
(微課版)項目二圖像加密解密—ROI操作與運算思維導圖學習目標概覽能夠使用OpenCV實現圖像的基本操作知識目標學習目標素養目標技能目標培養信息安全意識培養嚴謹的科學態度培養工程倫理素養能夠進行圖像運算能夠設計并實現圖像加密解密方案熟練掌握圖像加法運算、減法運算、加權加法運算以及按位邏輯運算掌握讀取、顯示、保存圖像,圖像通道處理,指定ROI以及色彩空間的選擇等圖像基本操作理解掩模在圖像操作中的基本原理理解圖像加密解密原理目錄項目導入知識準備項目拓展項目實施項目鞏固2.1圖像的基本操作2.2圖像運算2.3圖像加密解密原理PART01項目導入項目導入圖像作為信息的重要載體,其安全性與隱私保護是關乎國家安全、商業利益和個人權益的核心議題。圖像區域加密與解密的核心在于對圖像關鍵信息進行精準、可控的保護。掩模如同數字衛士的“盾牌”,精確劃定需要守護的“疆域”;按位邏輯運算則如同巧妙的“密鑰”,在二進制層面實現信息的安全變換與復原。精準定位保護對象,體現深刻的全局觀與辯證思維PART02知識準備知識準備—圖像的基本操作2.1.1讀取、顯示、保存圖像讀取圖像OpenCV提供了cv2.imread()函數來讀取圖像到內存,該函數支持多種靜態圖像格式,如JPEG、PNG、TIFF、BMP和WebP等。cv2.imread()函數設計用于讀取單幀圖像文件,不能直接讀取視頻文件(如.mp4、.avi)或動態GIF文件。其語法格式如下:其中各參數含義如下。retval:cv2.imread()函數的返回值,是讀取到的圖像。filename:要讀取的圖像文件名,支持相對路徑和絕對路徑。flags:讀取圖像格式的標記。該標記用于指定如何讀取和解碼圖像,控制著色彩空間轉換、深度(位數)和是否讀取Alpha通道等。retval=cv2.imread(filename[,flags])知識準備—圖像的基本操作2.1.1讀取、顯示、保存圖像讀取圖像常用標記如表2-1所示。知識準備—圖像的基本操作2.1.1讀取、顯示、保存圖像讀取圖像—案例【例2-1】使用cv2.imread()函數讀取一幅圖像,并將圖像轉換為單通道灰度圖像。根據題目要求,編寫代碼如下:知識準備—圖像的基本操作2.1.1讀取、顯示、保存圖像讀取圖像—案例運行上述代碼,輸出結果如下:【例2-1】使用cv2.imread()函數讀取一幅圖像,并將圖像轉換為單通道灰度圖像。知識準備—圖像的基本操作2.1.1讀取、顯示、保存圖像顯示圖像cv2.imshow()函數用來顯示圖像。其語法格式如下:其中各參數含義如下:winname:窗口的名稱。mat:要顯示的圖像。None=cv2.imshow(winname,mat)知識準備—圖像的基本操作2.1.1讀取、顯示、保存圖像顯示圖像—案例【例2-2】使用cv2.imshow()函數在窗口中顯示讀取的圖像。根據題目要求,編寫代碼如下:知識準備—圖像的基本操作2.1.1讀取、顯示、保存圖像顯示圖像—案例【例2-2】使用cv2.imshow()函數在窗口中顯示讀取的圖像。運行上述代碼,結果如圖2-1所示。圖2-1例2-2代碼運行結果知識準備—圖像的基本操作2.1.1讀取、顯示、保存圖像保存圖像cv2.imwrite()函數用于將圖像保存到指定文件,并指定文件擴展名以定義圖像格式。其語法格式如下:其中各參數含義如下。filename:需要保存圖像的文件名,包含文件擴展名。img:被保存的圖像。params:不同編碼格式的參數,可選項。retval=cv2.imwrite(filename,img[,params])知識準備—圖像的基本操作2.1.1讀取、顯示、保存圖像保存圖像—案例【例2-3】將讀取的圖像保存到當前目錄下。根據題目要求,編寫代碼如下:知識準備—圖像的基本操作2.1.2圖像通道處理cv2.split()函數用于將多通道圖像的各個通道拆分為獨立的單通道圖像。這種拆分允許開發者對單個通道進行獨立處理,以滿足特定算法需求或深入分析色彩分布。典型應用包括如下方面。特定通道的色彩增強或調整(如單獨增強紅色通道的色彩)。在特定通道上進行閾值分割或特征提取(如通過分析藍色通道的特征檢測水體)。進行色彩空間轉換(如將BGR圖像轉換為HSV圖像后,單獨處理色相、飽和度和亮度通道)。知識準備—圖像的基本操作2.1.2圖像通道處理通道合并是拆分的逆過程。cv2.merge()函數用于將多個單通道圖像重新組合成一個多通道圖像。最常見的應用是將3個單通道灰度圖像(分別代表B、G、R分量)重建為彩色圖像。此外,它還用于以下方面。偽彩色處理:將非可見光數據或其他單通道信息映射到RGB通道進行可視化。透明度疊加:合并RGB通道與Alpha(透明度)通道。多光譜合成:融合來自不同波段(通道)的信息。通道混合與風格化:創造性地組合不同來源或處理后的通道以實現特定視覺效果。知識準備—圖像的基本操作2.1.2圖像通道處理—案例【例2-4】使用cv2.split()函數拆分圖像通道,然后使用cv2.merge()函數重新組合圖像通道。根據題目要求,編寫代碼如下:知識準備—圖像的基本操作2.1.2圖像通道處理—案例【例2-4】使用cv2.split()函數拆分圖像通道,然后使用cv2.merge()函數重新組合圖像通道。運行上述代碼,結果如圖2-2所示。圖2-2例2-4代碼運行結果知識準備—圖像的基本操作2.1.3指定ROI感興趣區域(RegionOfInterest,ROI)是在被處理圖像中以矩形、圓形、橢圓、不規則多邊形等形式勾畫出的需要處理的區域。ROI可以通過各種算子(Operator)和函數指定,并進行下一步處理,廣泛應用于目標檢測、圖像分割以及物體跟蹤等任務。在OpenCV中指定ROI主要有兩種方式:代碼靜態指定(固定坐標)和交互式動態指定(鼠標選擇)。知識準備—圖像的基本操作roi_rect=image[y:y+h,x:x+w]代碼靜態指定ROI的表達式如下:【例2-5】使用代碼靜態指定的方式指定圖像的ROI。根據題目要求,編寫代碼如下:2.1.3指定ROI—案例知識準備—圖像的基本操作【例2-5】使用代碼靜態指定的方式指定圖像的ROI。運行上述代碼,結果如圖2-3所示。圖2-3例2-5代碼運行結果2.1.3指定ROI—案例知識準備—圖像的基本操作roi_info=cv2.selectROI("SelectROIandpressEnter",image)交互式指定ROI的表達式如下:
【例2-6】使用交互式動態指定的方式指定圖像的ROI。
根據題目要求,編寫代碼如下:2.1.3指定ROI—案例知識準備—圖像的基本操作【例2-6】使用交互式動態指定的方式指定圖像的ROI。運行上述代碼,結果如圖2-4所示。圖2-4例2-6代碼運行結果2.1.3指定ROI—案例知識準備—圖像的基本操作【例2-7】將指定的ROI圖像覆蓋到源圖像的某區域。根據題目要求,編寫代碼如下:2.1.3指定ROI—案例知識準備—圖像的基本操作【例2-7】將指定的ROI圖像覆蓋到源圖像的某區域。運行上述代碼,結果如圖2-5所示。圖2-5例2-7代碼運行結果2.1.3指定ROI—案例知識準備—圖像的基本操作2.1.4色彩空間的選擇RGB色彩空間RGB色彩空間通過紅(Red)、綠(Green)、藍(Blue)3種基本顏色的線性組合來模擬人眼感知的豐富色彩。紅、綠、藍三色光以不同強度疊加即可產生其他顏色。每個像素的RGB值通常由3個8位無符號整數(范圍0~255)表示,共同構成24位(3通道×8位/通道)真彩色圖像,因此RGB色彩空間可以表示2563=16777216種顏色。RGB色彩空間的一個顯著特點是其3個通道高度相關。亮度變化會同時影響所有通道的值,例如,光照增強時,RGB值普遍上升。這種相關性使得RGB圖像對光線變化較為敏感,可能導致算法(如目標檢測)出現誤檢等問題。同樣,陰影或過曝區域也會顯著改變RGB值。因此,在需要魯棒性處理的場景中,常需結合其他色彩空間(如HSV色彩空間)進行分析。知識準備—圖像的基本操作GRAY色彩空間GRAY色彩空間也稱灰度空間,是一種單通道圖像表示模型,每個像素的取值對應從純黑到純白的灰度級別。該空間通常采用8位無符號整數(0~255)表示256級灰度:0代表純黑,255代表純白,中間值表征不同亮度的灰色(值越大越接近白色)。權重系數基于人眼視覺特性設置:對綠光最敏感(權重最高),紅光次之,藍光最低。其核心設計模擬了人眼對光強的非線性感知特性。標準轉換公式通過加權融合RGB通道實現:Gray=0.299×R+0.587×G+0.114×BGRAY色彩空間的優勢在于剝離顏色信息,專注亮度維度,降低環境色光干擾;單通道數據量僅為RGB的1/3,顯著提升處理速度;對光照變化適應性更強(如陰影/過曝場景)。2.1.4色彩空間的選擇知識準備—圖像的基本操作YCrCb色彩空間YCrCb是一種將亮度(Luminance)與色度(Chrominance)分離的色彩空間,由3個分量構成:Y通道:亮度分量,即灰度分量,表示像素的明亮程度,和圖像的光強有關。Cr通道:紅色色度(
RedChrominance)分量,表示紅色與基準色的色差,用來調節紅色分量。Cb通道:藍色色度(
BlueChrominance)分量,表示藍色與基準色的色差,用來調節藍色分量。2.1.4色彩空間的選擇知識準備—圖像的基本操作YCrCb色彩空間在YCrCb顏色空間中,圖像的色彩信息(Cr和Cb)和亮度信息(Y)是分離的,因此Y通道與色彩無關,可以單獨用于亮度調整或直方圖均衡,而不會影響顏色。通過轉換公式實現亮度與色彩的物理解耦,其轉換公式基于RGB的加權計算: Y=0.299R+0.587G+0.114B Cr=(R?Y)×0.713+128 Cb=(B?Y)×0.564+128其中,Y通道獨立承載光照信息,支持無損亮度增強(如直方圖均衡),而Cr/Cb通道專司色彩調控。2.1.4色彩空間的選擇知識準備—圖像的基本操作HSV色彩空間HSV色彩空間是一種基于人類視覺感知的色彩模型,它將顏色解耦為3個獨立分量:H(Hue,色相,0°~360°):表示顏色的基本類型(例如,0°時為紅色、120°時為綠色、240°時為藍色)。S(Saturation,飽和度,0%~100%):表示顏色的純度(0%時為灰度,100%為純色)。V(Value,亮度,0%~100%):表示顏色明亮程度(0%為全黑,100%為最亮)。相較于RGB色彩空間,HSV色彩空間的表示方式更貼合人類對顏色的直觀感知,特別適用于顏色分析與處理任務。2.1.4色彩空間的選擇知識準備—圖像的基本操作色彩空間轉換OpenCV提供cv2.cvtColor()函數用于實現不同色彩空間之間的轉換。其語法格式如下:其中各參數含義如下。dst:轉換后輸出的圖像,與原始輸入圖像的數據類型和深度相同。src:輸入的原始圖像。code:色彩空間轉換碼。dstCn:目標圖像中的通道數量。dst=cv2.cvtColor(src,code[,dst[,dstCn]])2.1.4色彩空間的選擇知識準備—圖像的基本操作色彩空間轉換常用的色彩空間轉換碼如表2-2所示。2.1.4色彩空間的選擇知識準備—圖像的基本操作根據題目要求,編寫代碼如下:色彩空間轉換—案例
【例2-8】將BGR圖像轉換為RGB圖像,再將RGB圖像轉換為GRAY圖像。2.1.4色彩空間的選擇知識準備—圖像的基本操作運行上述代碼,結果如圖2-6所示。圖2-6例2-8代碼運行結果色彩空間轉換—案例
【例2-8】將BGR圖像轉換為RGB圖像,再將RGB圖像轉換為GRAY圖像。2.1.4色彩空間的選擇知識準備—圖像的基本操作2.1.5掩模掩模(Mask)是計算機視覺中一個核心概念,指使用特定的圖像、圖形或模板作用于待處理圖像(整體或局部),以精確控制圖像處理的區域或流程。這個用于定義作用區域或流程的特定圖像、圖形或模板稱為掩模。指定ROI區域屏蔽結構特征匹配與提取生成特殊形狀區域在光學圖像處理領域,掩模可以是膠片、濾光片等物理介質。而在數字圖像處理中,掩模則表現為一個二維矩陣數組(通常為二值圖像,有時也使用多值圖像)。其核心作用體現在以下方面。知識準備—圖像的基本操作2.1.5掩模將源圖像與掩模進行逐像素運算。對于源圖像中的任意一個像素:若掩模中對應位置的像素值為255(代表白色,即“保留區”),則結果圖像中該位置的像素保持原始值;若掩模中對應位置的像素值為0(代表黑色,即“屏蔽區”),則結果圖像中該位置的像素值被設置為0(或其他指定的背景值,如黑色)。通過此運算,即可精確提取源圖像中與掩模定義的“保留區”相對應的部分,同時有效屏蔽“屏蔽區”。掩模的核心操作是逐像素的邏輯運算(最常用的是乘法運算或等效的按位與運算)。具體過程如下。知識準備—圖像的基本操作2.1.5掩模白色區域(值為255)標記為需要保留的ROI。黑色區域(值為0)標記為需要去除或屏蔽的區域。假設有一幅源圖像和一幅二值圖像。二值圖像中:將兩幅圖像進行逐像素乘法運算后:源圖像中對應掩模白色區域的像素將完全保留其原始信息(RGB值不變)。源圖像中對應掩模黑色區域的像素將被置為黑色(RGB值為0、0、0)。這種掩模操作在計算機視覺中應用極其廣泛,包括但不限于圖像分割、目標提取、圖像濾波、局部增強、背景替換和圖像合成等。知識準備—圖像的基本操作2.1.5掩模—案例【例2-9】將源圖像和掩模相乘,得到掩模所指定的圖像區域。根據題目要求,編寫代碼如下:知識準備—圖像的基本操作2.1.5掩模—案例運行上述代碼,結果如圖2-7所示。圖2-7例2-9代碼運行結果【例2-9】將源圖像和掩模相乘,得到掩模所指定的圖像區域。知識準備—圖像運算2.2.1加法運算在圖像處理中,加法運算常用于圖像融合、多幀降噪和亮度增強等場景。Python提供了兩種實現方式:直接使用NumPy的“+”運算符和OpenCV中的cv2.add()函數,二者在底層處理機制上存在本質差異。當使用NumPy的“+”運算符對兩幅圖像進行加法操作時,實際上是調用NumPy數組進行逐元素相加操作。若圖像為uint8類型(像素值范圍為0~255),相加結果超過255時會發生模運算溢出問題。溢出會導致像素值異常降低,產生偽影或亮度失真。知識準備—圖像運算2.2.1加法運算
OpenCV的cv2.add()函數通過飽和處理機制避免溢出問題。若相加結果超過255,則強制將其設為255;若低于0,則將其設為0。該函數適用于圖像融合、亮度疊加等需保持物理意義的場景。cv2.add()函數的語法格式如下:其中各參數含義如下。src1:圖像矩陣1。src2:圖像矩陣2。dst:輸出圖像矩陣,其大小和通道數與輸入圖像矩陣相同。mask:操作掩模,用于指定輸出圖像矩陣中要更改的元素,可選項。dtype:輸出圖像矩陣深度,可選項。dst=cv2.add(src1,src2[,dst[,mask[,dtype]]])知識準備—圖像運算2.2.1加法運算—案例【例2-10】分別使用“+”運算符和cv2.add()函數執行圖像加法運算。根據題目要求,編寫代碼如下:知識準備—圖像運算運行上述代碼,結果如圖2-8所示。圖2-8例2-10代碼運行結果2.2.1加法運算—案例【例2-10】分別使用“+”運算符和cv2.add()函數執行圖像加法運算。知識準備—圖像運算2.2.2減法運算減法運算是計算機視覺中提取差異信息的基礎操作,廣泛應用于運動目標檢測、背景去除和圖像增強等場景。Python提供了兩種實現方式:NumPy的“-”運算符和OpenCV的cv2.subtract()函數,二者在運算機制與結果處理上存在本質區別。使用NumPy的“-”運算符對兩幅圖像進行減法操作時,實際上是調用NumPy數組進行逐元素相減操作。若相減結果小于0,導致數值超出uint8類型像素值范圍,會直接保留負值。負值在后續顯示或保存時會被強制轉換為0(因uint8類型無法表示負數),造成信息丟失。知識準備—圖像運算2.2.2減法運算OpenCV的cv2.subtract()函數通過飽和處理避免負值問題。若結果小于0,則將其強制設為0;若超過255,則設為255。確保輸出值始終位于[0,255]有效區間。該函數適用于運動目標檢測、背景建模、圖像對比度調整等場景。cv2.subtract()函數的語法格式如下:其中各參數含義如下。src1:圖像矩陣1。src2:圖像矩陣2。dst:輸出圖像矩陣,其大小和通道數與輸入圖像矩陣相同。mask:操作掩模,用于指定輸出圖像矩陣中要更改的元素,可選項。dtype:輸出圖像矩陣深度,可選項。dst=cv2.subtract(src1,src2[,dst[,mask[,dtype]]])知識準備—圖像運算2.2.2減法運算—案例【例2-11】分別使用“-”運算符和cv2.subtract()函數執行圖像減法運算。根據題目要求,編寫代碼如下:知識準備—圖像運算運行上述代碼,結果如圖2-9所示。圖2-9例2-11代碼運行結果2.2.2減法運算—案例【例2-11】分別使用“-”運算符和cv2.subtract()函數執行圖像減法運算。知識準備—圖像運算2.2.2減法運算圖像加法與減法運算是圖像處理中的基本操作,在計算機視覺領域具有顯著的特性和應用場景。二者的核心區別如表2-3所示。知識準備—圖像運算2.2.3加權加法運算加權加法運算是一種基于像素級權重分配的精細化圖像融合技術,其核心在于通過為不同的輸入圖像賦予動態權重系數,實現對融合結果的精準調控。OpenCV提供cv2.addWeighted()函數以執行加權加法運算。其語法格式如下:其中各參數含義如下。src1:圖像矩陣1。alpha:圖像矩陣1的權重。src2:圖像矩陣2。beta:圖像矩陣2的權重。gamma:亮度偏移量。dst:輸出圖像矩陣,其大小和通道數與輸入圖像矩陣相同。dtype:輸出圖像矩陣深度,可選項。dst=cv2.addWeighted(src1,alpha,src2,beta,gamma[,dst[,dtype]])知識準備—圖像運算2.2.3加權加法運算計算圖像的加權和的公式如下:
dst=src1×alpha+src2×beta+gamma在醫學影像分析、衛星圖像處理等專業領域,加權加法通過精確的權重控制系統(即參數α與β,對應函數中的alpha與beta)和亮度補償機制(即參數γ,對應函數中的gamma),解決了普通加法導致的細節丟失和亮度失真問題。在深度學習領域,加權加法的思想延伸為特征融合技術,成為CNN中特征金字塔網絡(FeaturePyramidNetwork,FPN)等核心架構的基礎組成部分。知識準備—圖像運算2.2.3加權加法運算—案例【例2-12】使用cv2.addWeighted()函數對兩幅圖像進行加權加法運算。根據題目要求,編寫代碼如下:知識準備—圖像運算運行上述代碼,結果如圖2-10所示。圖2-10例2-12代碼運行結果2.2.3加權加法運算—案例【例2-12】使用cv2.addWeighted()函數對兩幅圖像進行加權加法運算。知識準備—圖像運算按位與:對應位均為1時結果為1,否則為0。按位或:對應位中任意一位為1時結果為1。按位非:對單個像素的二進制位取反。按位異或:對應位不同時結果為1。2.2.4按位邏輯運算按位邏輯運算是基于二進制像素值的位級操作,在圖像處理中主要包含4種基本運算:按位與(AND)、按位或(OR)、按位非(NOT)和按位異或(XOR)。以8位灰度圖像為例,每個像素值可表示為8位二進制數(如像素值127對應二進制01111111)。4種按位邏輯運算規則如下。知識準備—圖像運算OpenCV針對兩幅圖像之間的按位邏輯運算分別提供了bitwise_and()、bitwise_or()、bitwise_not()、bitwise_xor()函數。其語法格式如下:其中各參數含義如下。src1、src2、src:輸入圖像矩陣。dst:輸出圖像矩陣,其大小和通道數與輸入圖像矩陣相同。mask:操作掩模,可選項。dst=cv2.bitwise_and(src1,src2[,dst[,mask]])#與運算dst=cv2.bitwise_or(src1,src2[,dst[,mask]])#或運算dst=cv2.bitwise_not(src[,dst[,mask]])#非運算dst=cv2.bitwise_xor(src1,src2[,dst[,mask]])#異或運算2.2.4按位邏輯運算知識準備—圖像運算2.2.4按位邏輯運算—案例【例2-13】使用cv2.bitwise_and()、cv2.bitwise_or()、cv2.bitwise_not()、cv2.bitwise_xor()函數對圖像執行按位邏輯運算。根據題目要求,編寫代碼如下:知識準備—圖像運算運行上述代碼,結果如圖2-11所示。圖2-11例2-13代碼運行結果2.2.4按位邏輯運算—案例【例2-13】使用cv2.bitwise_and()、cv2.bitwise_or()、cv2.bitwise_not()、cv2.bitwise_xor()函數對圖像執行按位邏輯運算。知識準備—加密解密原理圖像加密是保護圖像機密性的核心手段,它通過特定的數學變換規則(算法)和密鑰(參數),將原始圖像(明文)轉換為無法直接識別內容的密文圖像。圖像解密是加密的逆過程。當合法接收者獲得密文圖像后,必須使用與加密匹配的正確密鑰和相應的逆變換算法,才能將密文圖像準確還原為原始圖像。加密解密模型如圖2-12所示。圖2-12加密解密模型知識準備—加密解密原理DES:DES采用56位密鑰長度(64位含8位奇偶校驗位),其設計基于16輪Feistel網絡結構。3DES:3DES通過“加密—解密—加密”(EDE)三重運算將有效密鑰長度提升至112位(三密鑰模式達168位)。AES:采用128/192/256位可變密鑰長度的切片分組網(SlicingPacketNetwork,SPN),可以根據安全需求選擇合適的密鑰長度。2.3.1對稱加密對稱加密(SymmetricEncryption)算法的核心特點是加密與解密使用同一密鑰。基本原理:通過特定加密算法,結合密鑰對圖像數據進行可逆變換,生成無法直接識別內容的密文,從而保護圖像數據。解密時需使用相同密鑰及對應解密算法,將密文圖像還原為原始圖像。當前圖像加密領域廣泛應用的對稱加密算法主要包括數據加密標準(DES)、三重數據加密標準(3DES)以及高級加密標準(AES)。知識準備—加密解密原理①密鑰生成:選擇合適的對稱加密算法,并使用密碼學安全隨機數生成器生成密鑰。②圖像預處理:根據算法及圖像格式轉換數據。③圖像加密:應用選定算法與密鑰加密圖像數據。④圖像解密:使用相同算法與密鑰執行逆操作以還原圖像。⑤圖像后處理:將圖像數據重構為原始格式。2.3.1對稱加密圖像對稱加密的實現流程通常包括以下幾個步驟。知識準備—加密解密原理2.3.1對稱加密按位異或運算可用于實現圖像加密與解密。具體過程:將原始圖像(明文)與密鑰圖像進行按位異或運算,即完成圖像加密,生成密文圖像;而將密文圖像與相同的密鑰圖像再次進行按位異或運算,即可實現圖像解密,還原出原始圖像。OpenCV提供的cv2.bitwise_xor()函數可便捷地實現圖像的按位異或運算功能知識準備—加密解密原理公鑰(PublicKey):可公開分發,用于加密圖像數據或驗證圖像來源的真實性(如攝像頭簽名)。私鑰(PrivateKey):由持有者嚴格保密,用于解密或生成圖像的數字簽名。2.3.2非對稱加密非對稱加密(AsymmetricEncryption)是為滿足圖像安全傳輸需求提出的核心加密范式,與對稱加密形成互補。其核心機制依賴于一對數學關聯的密鑰。知識準備—加密解密原理2.3.2非對稱加密當前圖像安全領域廣泛采用的非對稱加密算法主要包括RSA(Rivest-Shamir-Adleman)算法和橢圓曲線密碼學(EllipticCurveCryptography,ECC)。其主要區別如表2?4所示。知識準備—加密解密原理對稱加密層(如AES)提供對像素級數據的高效保護,支持GB級圖像流的實時加密。非對稱加密層(如RSA/ECC)實現對稱密鑰的安全封裝,基于數學難題(大整數質因數分解/橢圓曲線離散對數)確保密鑰不可被破解。2.3.3混合加密混合加密(HybridEncryption)通過分層架構有機整合如下兩類加密技術。該架構本質是一種密鑰封裝機制:首先生成隨機對稱密鑰加密原始圖像,再用接收方公鑰加密該密鑰;接收方用私鑰解出對稱密鑰后解密圖像。知識準備—加密解密原理①密鑰生成與分發:使用密碼學安全隨機數生成器生成AES密鑰。接收方生成RSA密鑰對,公鑰公開分發。②圖像數據預處理:將圖像分割為固定大小的塊(如64像素×64像素),避免單次加密數據量過大。將彩色圖像分離成R、G、B通道,支持并行加密。③對稱加密圖像數據:選擇加密模式加密圖像數據。④非對稱加密對稱密鑰:使用RSA-OAEP(OptimalAsymmetricEncryptionPadding)填充方案加密AES密鑰,防范明文攻擊。⑤數據傳輸與解密:用RSA私鑰解密獲得AES密鑰;用AES密鑰解密圖像塊;合并圖像塊并重構原始格式。例如,合并R、G、B通道,形成彩色圖像。⑥完整性驗證:發送方對圖像哈希值進行簽名,接收方驗證簽名確保數據未被篡改。2.3.3混合加密以RSA-AES為例說明混合加密的實現流程。知識準備—加密解密原理2.3.4基于深度學習的加密基于ROI與像素運算的傳統圖像加密方法的安全邊界清晰、邏輯透明,是掌握安全技術原理的基石。然而,在人工智能時代,攻擊手段日益復雜,單純的區域隱藏可能在智能算法面前失效。同時,深度學習帶來的強大的視覺理解能力,也為圖像加密帶來了“智慧賦能”的新思路。深度學習帶來的范式轉變傳統方法的保護對象是“像素值”,而深度學習驅動的加密技術的保護對象可以升維為“視覺語義”或“模型決策”。其核心思想不是讓人眼看不見,而是讓特定的AI系統“看不懂”或“認不出”。知識準備—加密解密原理基于對抗樣本的語義級加密這種方法不直接遮擋或擾亂ROI,而是通過精心計算并添加人眼難以察覺的細微擾動(即“對抗噪聲”),使特定AI模型(如人臉識別器)分析該區域時,產生完全錯誤的識別結果。基于GAN的可逆視覺混淆該技術利用GAN強大的圖像生成能力,對敏感區域(如人臉)進行“語義替換”而非簡單遮蓋。2.3.4基于深度學習的加密將深度學習與傳統圖像加密方法相結合,代表了從“靜態防護”到“動態智能對抗”的演進。國內代表性研究方向與應用PART03項目實施項目實施項目任務基于掩模和異或運算的圖像區域加密、解密。任務實現步驟1:圖像基本操作讀取walkbridge.jpeg源圖像,將圖像轉換為單通道灰度圖像,并獲取源圖像尺寸。具體代碼如下:項目實施圖2-13加密區域步驟2:創建加密區域掩模創建全黑掩模,初始化與圖像尺寸相同的全0矩陣(純黑色);定義矩形加密區域,將y坐標范圍為100~300,x坐標范圍為200~400的矩形區域設為1(白色);提取加密區域,通過按位與運算保留源圖像中掩模標記的矩形區域。具體運算代碼如下:本步驟的輸出如圖2-13所示。項目實施本步驟的輸出如圖2-14所示。圖2-14密鑰圖像步驟3:密鑰生成生成隨機密鑰,創建一個與圖像尺寸相同的隨機矩陣,數值范圍為0~255;將密鑰矩陣顯示為圖像(呈現隨機噪聲效果)。具體代碼如下:項目實施本步驟的輸出如圖2-15所示。圖2-15加密圖像步驟4:加密流程將源圖像與密鑰進行按位異或運算,得到整幅圖像的加密結果;分離加密區域,保留非加密區域;合成最終加密圖像。最終圖像中只有指定矩形區域
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 招22人!江鎢控股集團派駐海外工作人才公開招聘考試備考試題及答案詳解
- 2026湖北科技學院附屬第二醫院招聘醫護工作人員筆試參考題庫及答案詳解
- 建筑項目安全施工管理標準流程指南
- 2026年南充嘉陵產業職業學院單招職業技能考試模擬試卷及答案詳解【基礎+提升】
- 2025年重慶應用技術職業學院高職單招職業技能考試題庫及答案詳解參考
- 2026年江西省吉安市高職單招職業技能考試題庫及答案詳解【典優】
- 2026年四川廣元利州職業學院高職單招職業適應性測試考試題庫附完整答案詳解【各地真題】
- 《并腳跳繩》教學設計
- 幼兒園小班開學第一課安全教案
- 安全管理培訓精美
- 裝機安全生產管理制度
- 2026華能南方分公司所屬基層企業高校畢業生招聘筆試參考試題附答案解析
- 蒸汽管道安裝竣工資料
- 氬弧焊接操作規范與質量要求
- 2025版《煤礦安全規程》解讀
- 2025成考政治馬克思主義哲學核心考點
- 焊工換證考試試題及答案
- 標準化考場建設投標方案
- 專題37 小作文寫作(場景描寫、說明文片段、議論性片段、邀請函、演講詞)
- 工程項目監理廉政建設實施細則
- T-GDASE 0042-2024 固定式液壓升降裝置安全技術規范
評論
0/150
提交評論