版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機視覺項目開發實戰
(微課版)項目三圖像藝術風格轉換—圖像濾波處理思維導圖學習目標概覽能夠基于OpenCV完成圖像的縮放、翻轉、仿射變換與透視變換知識目標學習目標素養目標技能目標培養文化尊重與審美包容意識強化技術倫理與責任意識擔負起文化傳承使命能夠對圖像進行直方圖均衡能夠根據風格化需求選擇合適的濾波算法,并優化濾波參數掌握圖像縮放、翻轉、仿射變換與透視變換的方法了解圖像直方圖的含義掌握均值濾波、高斯濾波、中值濾波、雙邊濾波、方框濾波及2D濾波的原理與適用場景目錄項目導入知識準備項目拓展項目實施項目鞏固3.1幾何變換3.2圖像的直方圖處理3.3圖像濾波PART01項目導入項目導入藝術風格圖像生成技術作為計算機視覺與數字藝術融合的前沿領域,正深刻改變著文化傳播與藝術創作的范式。從基于濾波和直方圖的傳統風格模擬,到基于卷積神經網絡的神經風格遷移,再到如今由國產AI大模型所驅動的、從文本直接生成高質量藝術圖像的創作式AI,藝術風格轉換的技術范式正經歷深刻變革。藝術表達的數字化延伸,文化普惠與社會公平的技術載體PART02知識準備知識準備—幾何變換3.1.1縮放在計算機視覺的幾何變換中,縮放是指按照指定比例調整圖像的尺寸,本質上是通過對圖像像素坐標進行線性映射,生成新分辨率的圖像。縮放不會改變圖像的內容結構與幾何形態(如形狀、角度),僅改變圖像在屏幕或存儲空間中的“物理大小”。OpenCV提供了cv2.resize()函數來實現圖像縮放。其語法格式如下:其中各參數含義如下。src:輸入圖像。dsize:輸出圖像的尺寸,元組形式(width,height)。dst:縮放后的輸出圖像。fx:水平方向的縮放比例。fy:垂直方向的縮放比例。dst=cv2.resize(src,dsize[,dst[,fx[,fy[,interpolation]]]])知識準備—幾何變換3.1.1縮放interpolation:插值算法,整型,常見內置插值算法如表3-1所示。知識準備—幾何變換3.1.1縮放—案例【例3-1】使用cv2.resize()函數將圖像尺寸調整為300像素×300像素。根據題目要求,編寫代碼如下:源代碼地址文件
ex3-1.py見教材配套代碼,路徑如下:src/proj03/ex3-1.py知識準備—幾何變換3.1.1縮放—案例【例3-1】使用cv2.resize()函數將圖像尺寸調整為300像素×300像素。運行上述代碼,結果如圖3-1所示。圖3-1例3-1代碼運行結果(a)源圖像
(b)縮放后的圖像知識準備—幾何變換3.1.2翻轉翻轉是一種基礎的幾何變換,它通過沿特定對稱軸改變像素的空間位置來生成鏡像圖像。變換后,圖像的形狀與大小保持不變,僅其方向與相對位置發生改變。翻轉主要分為3種基礎類型:水平翻轉、垂直翻轉與對角翻轉。OpenCV提供了cv2.flip()函數來實現圖像翻轉。其語法格式如下:其中各參數含義如下。src:輸入圖像。flipCode:控制翻轉方向。取值如下。
0:繞x軸翻轉,即垂直翻轉。
1:繞y軸翻轉,即水平翻轉。
-1:同時繞x軸和y軸翻轉,即同時進行垂直和水平翻轉。dst:翻轉后的輸出圖像。dst=cv2.flip(src,flipCode[,dst])知識準備—幾何變換3.1.2翻轉—案例【例3-2】使用cv2.flip()函數分別對圖像進行水平、垂直、對角翻轉。根據題目要求,編寫代碼如下:源代碼地址文件
ex3-2.py見教材配套代碼,路徑如下:src/proj03/ex3-2.py知識準備—幾何變換3.1.2翻轉—案例【例3-2】使用cv2.flip()函數分別對圖像進行水平、垂直、對角翻轉。運行上述代碼,結果如圖3-2所示。圖3-2例3-2代碼運行結果(a)源圖像(b)水平翻轉圖像(c)垂直翻轉圖像(d)對角翻轉圖像知識準備—幾何變換3.1.3仿射變換仿射變換是圖像幾何變換的基石,可同時實現線性變換(旋轉、縮放、剪切)與平移,其核心特點是能保持圖像內的平行線關系不變,將圖像從一個坐標系映射到另一個坐標系。OpenCV提供了cv2.warpAffine()函數來實現圖像仿射變換。其語法格式如下:其中各參數含義如下。src:輸入圖像。M:2×3的實數轉換矩陣。dsize:輸出圖像的尺寸,元組形式(width,height)。borderMode:邊界像素模式,用于決定如何處理因變換而出現在邊界外的像素。borderValue:邊界填充值,默認取值為0。dst=cv2.warpAffine(src,M,dsize[,dst[,flags[,borderMode[,borderValue]]]])知識準備—幾何變換3.1.3仿射變換參數M是2行3列的浮點型仿射變換矩陣,核心用于定義圖像坐標的映射規則,是仿射變換的核心參數。OpenCV提供了cv2.getRotationMatrix2D()函數來計算旋轉變換矩陣。其語法格式如下:其中各參數含義如下。center:旋轉中心坐標,元組形式(x,y)。angle:旋轉角度,正值表示逆時針旋轉,負值表示順時針旋轉。scale:縮放比例。retval:返回2×3的旋轉變換矩陣。retval=cv2.getRotationMatrix2D(center,angle,scale)知識準備—幾何變換3.1.3仿射變換OpenCV提供了cv2.getAffineTransform()函數,該函數可根據源圖像和目標圖像上3組對應的點自動創建變換矩陣。其語法格式如下:其中各參數含義如下。src:源圖像中的3個點的坐標。dst:目標圖像中與源圖像上3個點對應的3個點的坐標。retval:返回2×3的仿射變換矩陣。retval=cv2.getAffineTransform(src,dst)知識準備—幾何變換3.1.3仿射變換—案例【例3-3】使用cv2.warpAffine()函數對圖像進行縮放、平移、旋轉和仿射變換。根據題目要求,編寫程序的關鍵代碼如下:源代碼地址文件
ex3-3.py見教材配套代碼,路徑如下:src/proj03/ex3-3.py知識準備—幾何變換3.1.3仿射變換—案例【例3-3】使用cv2.warpAffine()函數對圖像進行縮放、平移、旋轉和仿射變換。運行本例的代碼,結果如圖3-3所示。圖3-3例3-3代碼運行結果知識準備—幾何變換3.1.4透視變換透視變換,亦稱投影變換,是一種通過3×3矩陣實現坐標映射的非線性幾何變換。與仿射變換相比,透視變換的核心優勢在于能夠校正透視畸變。該變換可將一個矩形區域映射為任意四邊形,同時使圖像中的直線仍然為直線。OpenCV提供了cv2.warpPerspective()函數來實現圖像透視變換。其語法格式如下:該函數的參數與cv2.warpAffine()函數的參數高度一致,核心區別在于變換矩陣M的大小不同:透視變換用3×3的變換矩陣,而仿射變換用2×3的矩陣。dst=cv2.warpPerspective(src,M,dsize[,dst[,flags[,borderMode[,borderValue]]]])知識準備—幾何變換3.1.4透視變換OpenCV提供了cv2.getPerspectiveTransform()函數計算得到3×3透視變換矩陣。其語法格式如下:其中各參數含義如下。src:源圖像中的4個點的坐標。dst:目標圖像中與源圖像上4個點對應的4個點的坐標。retval:返回3×3的透視變換矩陣。retval=cv2.getPerspectiveTransform(src,dst[,solveMethod])知識準備—幾何變換3.1.4透視變換—案例【例3-4】使用cv2.warpPerspective()函數對圖像進行校正。根據題目要求,編寫程序的關鍵代碼如下:源代碼地址文件
ex3-4.py見教材配套代碼,路徑如下:src/proj03/ex3-4.py知識準備—幾何變換3.1.4透視變換—案例【例3-4】使用cv2.warpPerspective()函數對圖像進行校正。運行本例的代碼,結果如圖3-4所示。圖3-4例3-4代碼運行結果知識準備—圖像的直方圖處理3.2.1圖像直方圖的含義圖像直方圖(ImageHistogram)是描述圖像像素值分布的統計圖表,直觀展示圖像中不同強度或亮度像素的出現頻率。通過圖像直方圖,可快速判斷圖像的亮度、對比度等特征。其可應用于圖像增強、閾值分割、圖像匹配、缺陷檢測等,對物體與背景有較強對比度的圖像分割特別有用,是圖像預處理和分析的基礎工具。通過觀察直方圖的形狀,我們可以快速判斷一張圖片的亮度和對比度,這是評估圖像質量的核心依據。知識準備—圖像的直方圖處理3.2.2繪制圖像直方圖該函數可用于快速繪圖,適合整體分布預覽。其語法格式如下:matplotlib.pyplot.hist()函數retval=matplotlib.pyplot.hist(x,bins=None,**kwargs)其中各參數含義如下。x:數據源,必須是一維的。圖像數據通常是二維的,可以使用ravel()函數或flatten()函數將其拉成一維的數據后再使用。對于三維圖像數據,先將其轉換為灰度圖像再繪制直方圖,這是一種更通用、更實用的基礎操作。bins:表示x軸分多少組,取值為整數、序列或字符串。retval:返回值,元組形式(n,bins,patches)。知識準備—圖像的直方圖處理【例3-5】使用matplotlib.pyplot.hist()函數繪制圖像直方圖。根據題目要求,編寫代碼如下:源代碼地址文件
ex3-5.py見教材配套代碼,路徑如下:src/proj03/ex3-5.py3.2.2繪制圖像直方圖matplotlib.pyplot.hist()函數—案例知識準備—圖像的直方圖處理運行上述代碼,結果如圖3-5所示。圖3-5例3-5代碼運行結果3.2.2繪制圖像直方圖matplotlib.pyplot.hist()函數—案例【例3-5】使用matplotlib.pyplot.hist()函數繪制圖像直方圖。知識準備—圖像的直方圖處理3.2.2繪制圖像直方圖其語法格式如下:cv2.calcHist()函數hist=cv2.calcHist(images,channels,mask,histSize,ranges[,hist[,accumulate]])其中各參數含義如下。images:輸入圖像。channels:通道索引。mask:掩模,取值為None,表示統計全圖。histSize:直方圖分組數。ranges:像素值范圍,參數值通常為[0,256],但實際上0≤像素值<256。accumulate:累積標識,True表示疊加到已有直方圖,默認為False。hist:返回值,一個只有histSize×1列的二維數組,每個元素代表對應區間的像素數量或頻數,配合繪圖工具可實現可視化。知識準備—圖像的直方圖處理【例3-6】使用cv2.calcHist()函數計算并繪制彩色圖像各通道直方圖。根據題目要求,編寫代碼如下:源代碼地址文件
ex3-6.py見教材配套代碼,路徑如下:src/proj03/ex3-6.py3.2.2繪制圖像直方圖cv2.calcHist()函數—案例知識準備—圖像的直方圖處理運行上述代碼,結果如圖3-6所示。圖3-6例3-6代碼運行結果3.2.2繪制圖像直方圖【例3-6】使用cv2.calcHist()函數計算并繪制彩色圖像各通道直方圖。cv2.calcHist()函數—案例知識準備—圖像的直方圖處理3.2.2繪制圖像直方圖該函數結合掩模精準統計圖像中ROI的像素分布。結合掩模的cv2.calcHist()函數—案例【例3-7】使用結合掩模的cv2.calcHist()函數繪制ROI直方圖。根據題目要求,編寫程序的關鍵代碼如下:源代碼地址文件
ex3-7.py見教材配套代碼,路徑如下:src/proj03/ex3-7.py知識準備—圖像的直方圖處理3.2.2繪制圖像直方圖結合掩模的cv2.calcHist()函數—案例【例3-7】使用結合掩模的cv2.calcHist()函數繪制ROI直方圖。運行本例的代碼,結果如圖3-7所示。圖3-7例3-7代碼運行結果知識準備—圖像的直方圖處理3.2.3直方圖均衡直方圖均衡(HistogramEqualization)是一種用于增強圖像對比度的經典方法。其核心思想是對圖像像素灰度值進行重新分布,使輸出圖像的直方圖在整個灰度范圍(0~255)內盡可能均勻。
這種方法能夠顯著拉開圖像的灰度層次,從而有效增加暗部與亮部的細節,改善整體視覺效果。
特別適用于改善灰度分布集中的圖像,并常作為預處理步驟,在車牌識別、人臉識別等任務中用于強化特征、提升后續算法的魯棒性。知識準備—圖像的直方圖處理3.2.3直方圖均衡
OpenCV的cv2.equalizeHist()函數用于實現全局直方圖均衡。其語法格式如下:全局直方圖均衡dst=cv2.equalizeHist(src[,dst])其中各參數含義如下。src:8位單通道灰度圖像,彩色圖像分通道處理。dst:均衡后的圖像。知識準備—圖像的直方圖處理3.2.3直方圖均衡全局直方圖均衡—案例【例3-8】使用cv2.equalizeHist()函數實現圖像全局直方圖均衡處理。根據題目要求,編寫代碼如下:源代碼地址文件
ex3-8.py見教材配套代碼,路徑如下:src/proj03/ex3-8.py知識準備—圖像的直方圖處理3.2.3直方圖均衡全局直方圖均衡—案例【例3-8】使用cv2.equalizeHist()函數實現圖像全局直方圖均衡處理。運行上述代碼,結果如圖3-8所示。圖3-8例3-8代碼運行結果知識準備—圖像的直方圖處理3.2.3直方圖均衡
OpenCV的cv2.createCLAHE()函數用于實現自適應直方圖均衡。其語法格式如下:自適應直方圖均衡retval=cv2.createCLAHE([,clipLimit[,tileGridSize]])其中各參數含義如下。clipLimit:對比度限制閾值,默認是40。tileGridSize:圖像子塊大小,默認值(8,8)表示將圖像劃分為8×8個子塊網格。retval:一個限制對比度自適應直方圖均衡(ContrastLimitedAdaptiveHistogramEqualization,CLAHE)處理器對象,該對象包含apply()函數,用于實際處理圖像。知識準備—圖像的直方圖處理3.2.3直方圖均衡自適應直方圖均衡—案例【例3-9】使用cv2.createCLAHE()函數處理低對比度含噪聲圖像。根據題目要求,編寫代碼如下:源代碼地址文件
ex3-9.py見教材配套代碼,路徑如下:src/proj03/ex3-9.py知識準備—圖像的直方圖處理3.2.3直方圖均衡自適應直方圖均衡—案例【例3-9】使用cv2.createCLAHE()函數處理低對比度含噪聲圖像。運行上述代碼,結果如圖3-9所示。圖3-9例3-9代碼運行結果知識準備—圖像濾波3.3.1均值濾波均值濾波(AveragingFiltering),也稱為均值卷積(MeanConvolution)。核心思想是通過一個稱為卷積核(或濾波器)的矩陣來實現濾波。OpenCV中常用cv2.blur()函數實現均值卷積。其語法格式如下:dst=cv2.blur(src,ksize[,dst[,anchor[,borderType]]])其中各參數含義如下。src:輸入圖像,可以是單通道灰度圖像或多通道彩色圖像。ksize:卷積核大小,格式為(width,height),width和height需為正奇數。dst:輸出圖像,默認自動生成與輸入圖像同尺寸、同類型的圖像。anchor:卷積核的錨點,默認值為(-1,-1),表示錨點在核中心。borderType:邊界填充方式,默認為cv2.BORDER_DEFAULT。知識準備—圖像濾波3.3.1均值濾波—案例根據題目要求,編寫程序的關鍵代碼如下:
【例3-10】讀取一幅噪聲圖像,使用cv2.blur()函數對比不同核的均值卷積效果,展示平滑強度與邊緣模糊的關系。源代碼地址文件
ex3-10.py見教材配套代碼,路徑如下:src/proj03/ex3-10.py知識準備—圖像濾波3.3.1均值濾波—案例運行本例的代碼,結果如圖3-10所示。
【例3-10】讀取一幅噪聲圖像,使用cv2.blur()函數對比不同核的均值卷積效果,展示平滑強度與邊緣模糊的關系。圖3-10例3-10代碼運行結果知識準備—圖像濾波3.3.2高斯濾波高斯濾波(GaussianFilter)是一種經典的線性濾波技術,其核心思想是基于高斯分布設計卷積核,通過卷積操作實現圖像平滑與噪聲抑制。OpenCV中常用cv2.GaussianBlur()函數實現高斯濾波。其語法格式如下:dst=cv2.GaussianBlur(src,ksize,sigmaX[,dst[,sigmaY[,borderType]]])其中各參數含義如下。ksize:卷積核大小,格式為(width,height),width和height需為正奇數。sigmaX:x軸方向(水平方向)的標準差,控制水平方向的平滑強度。sigmaX越大,水平方向模糊越明顯;若sigmaX為0,OpenCV會根據卷積核大小自動計算,其公式為sigmaX=0.3×(((ksize.width-1)×0.5-1)+0.8)。sigmaY:y軸方向(垂直方向)的標準差,默認值為None。實際處理時會自動設為與sigmaX相等的值;若需單獨控制垂直方向平滑,可手動指定非零值。知識準備—圖像濾波3.3.2高斯濾波—案例根據題目要求,編寫程序的關鍵代碼如下:
【例3-11】讀取一幅噪聲圖像,使用cv2.GaussianBlur()函數對比不同核的高斯濾波效果。源代碼地址文件
ex3-11.py見教材配套代碼,路徑如下:src/proj03/ex3-11.py知識準備—圖像濾波3.3.2高斯濾波—案例
【例3-11】讀取一幅噪聲圖像,使用cv2.GaussianBlur()函數對比不同核的高斯濾波效果。運行本例的代碼,結果如圖3-11所示。圖3-11例3-11代碼運行結果知識準備—圖像濾波3.3.3中值濾波中值濾波(MedianFiltering)是一種非線性濾波技術,其核心思想是通過取鄰域像素的中值(而非平均值)來更新中心像素值,從而實現噪聲抑制與圖像平滑。OpenCV中常用cv2.medianBlur()函數實現中值濾波。其語法格式如下:dst=cv2.medianBlur(src,ksize[,dst])其中各參數含義如下。ksize:卷積核大小,必須是大于1的正奇數。src、dst與均值濾波的參數一致。知識準備—圖像濾波3.3.3中值濾波—案例根據題目要求,編寫程序的關鍵代碼如下:
【例3-12】讀取一幅噪聲圖像,使用cv2.medianBlur()函數對比不同核的中值濾波效果。源代碼地址文件
ex3-12.py見教材配套代碼,路徑如下:src/proj03/ex3-12.py知識準備—圖像濾波3.3.3中值濾波—案例
【例3-12】讀取一幅噪聲圖像,使用cv2.medianBlur()函數對比不同核的中值濾波效果。運行本例的代碼,結果如圖3-12所示。圖3-12例3-12代碼運行結果知識準備—圖像濾波3.3.4雙邊濾波雙邊濾波(BilateralFilter)是一種非線性濾波技術,其核心思想是在高斯濾波的基礎上,額外考慮像素值的相似度,通過“空間距離權重”和“像素值相似度權重”的雙重約束實現平滑去噪,同時精準保留圖像邊緣。OpenCV中常用cv2.bilateralFilter()函數實現雙邊濾波。其語法格式如下:dst=cv2.bilateralFilter(src,d,sigmaColor,sigmaSpace[,dst[,borderType]])其中各參數含義如下。d:鄰域窗口的直徑,單位為像素。若d≤0,OpenCV會根據sigmaSpace自動計算(通常取d=2×sigmaSpace+1);d越大,濾波范圍越廣,但計算速度越慢。sigmaColor:像素值相似度的標準差,核心參數。sigmaColor越大,允許的像素值差異范圍越廣;sigmaColor越小,僅像素值接近的區域會被平滑。sigmaSpace:空間距離的標準差,核心參數。sigmaSpace越大,空間距離的影響范圍越廣;sigmaSpace越小,僅中心像素附近的像素參與濾波。知識準備—圖像濾波3.3.4雙邊濾波—案例根據題目要求,編寫程序的關鍵代碼如下:
【例3-13】讀取一幅噪聲圖像,使用cv2.bilateralFilter()函數對比應用不同參數組合的雙邊濾波效果。源代碼地址文件
ex3-13.py見教材配套代碼,路徑如下:src/proj03/ex3-13.py知識準備—圖像濾波3.3.4雙邊濾波—案例
【例3-13】讀取一幅噪聲圖像,使用cv2.bilateralFilter()函數對比應用不同參數組合的雙邊濾波效果。運行本例的代碼,結果如圖3-13所示。圖3-13例3-13代碼運行結果知識準備—圖像濾波3.3.5方框濾波方框濾波(BoxFilter)是一種線性濾波技術,其核心思想是通過固定大小的“方框狀”卷積核(濾波窗口)對圖像進行加權計算,是均值濾波的通用形式。
OpenCV中常用cv2.boxFilter()函數實現方框濾波。其語法格式如下:dst=cv2.boxFilter(src,ddepth,ksize[,dst[,anchor[,normalize[,borderType]]]])其中各參數含義如下。ddepth:輸出圖像的深度,用于控制像素值范圍。值為-1時,輸出圖像深度與輸入圖像深度一致;不進行歸一化時,建議將其設為cv2.CV_32F或cv2.CV_64F等更高精度格式,避免對像素值求和后溢出。anchor:卷積核的錨點,默認值為(-1,-1),表示錨點在核中心。normalize:歸一化開關,布爾值(True/False)。默認值為True,進行歸一化,歸一化后等價于均值濾波;值為False時,不進行歸一化,計算濾波窗口內像素值總和。知識準備—圖像濾波3.3.5方框濾波—案例根據題目要求,編寫程序的關鍵代碼如下:
【例3-14】讀取一幅噪聲圖像,使用cv2.boxFilter()函數對比“歸一化/非歸一化”模式及不同核的濾波效果,同時與均值濾波進行等效性驗證。源代碼地址文件
ex3-14.py見教材配套代碼,路徑如下:src/proj03/ex3-14.py知識準備—圖像濾波3.3.5方框濾波—案例
【例3-14】讀取一幅噪聲圖像,使用cv2.boxFilter()函數對比“歸一化/非歸一化”模式及不同核的濾波效果,同時與均值濾波進行等效性驗證。運行本例的代碼,結果如圖3-14所示。圖3-14例3-14代碼運行結果知識準備—圖像濾波3.3.62D濾波2D濾波(二維卷積濾波,2DConvolutionFiltering)是線性濾波的通用框架,其核心思想是對自定義的二維卷積核(Kernel)與輸入圖像進行卷積運算,實現靈活的圖像處理效果(如平滑、邊緣增強、特征提取等)。OpenCV中常用cv2.filter2D()函數實現2D濾波。其語法格式如下:dst=cv2.filter2D(src,ddepth,kernel[,dst[,anchor[,delta[,borderType]]]])其中各參數含義如下。ddepth:輸出圖像的深度,用于控制像素值范圍。值為-1時,輸出圖像深度與輸入圖像深度一致。kernel:自定義的二維卷積核,必須為單通道、正奇數大小的numpy數組。核的結構直接決定濾波效果,是2D濾波的核心。anchor:卷積核的錨點,默認值為(-1,-1),表示錨點在核中心。delta:可選項,濾波后為每個像素值額外添加的偏移量,默認值為0。知識準備—圖像濾波3.3.62D濾波—案例根據題目要求,編寫程序的關鍵代碼如下:
【例3-15】讀取一幅噪聲圖像,使用cv2.filter2D()函數自定義3種不同功能的卷積核(平滑核、銳化核、邊緣檢測核),對比不同核的濾波效果,展示2D濾波的靈活性。源代碼地址文件
ex3-15.py見教材配套代碼,路徑如下:src/proj03/ex3-15.py知識準備—圖像濾波3.3.62D濾波—案例
【例3-15】讀取一幅噪聲圖像,使用cv2.filter2D()函數自定義3種不同功能的卷積核(平滑核、銳化核、邊緣檢測核),對比不同核的濾波效果,展示2D濾波的靈活性。運行本例的代碼,結果如圖3-15所示。圖3-15例3-15代碼運行結果PART03項目實施項目實施項目任務將普通照片轉換為多種藝術風格(油畫、鉛筆畫、水彩畫)的圖像。任務實現步驟1:圖像加載與預處理首先讀取源圖像文件,如果圖像尺寸太大可將其統一調整為800像素×600像素的標準尺寸或進行比例縮放,然后在LAB色彩空間中使用CLAHE算法對亮度通道進行對比度增強,有效提升圖像細節表現力。項目實施步驟1:圖像加載與預處理關鍵代碼如下:本步驟的輸出如圖3-16所示。圖3-16預處理后的圖像項目實施步驟2:油畫效果生成首先將預處理后的圖像轉換為灰度圖像以計算梯度信息,然后使用Sobel算子獲取圖像的梯度值和方向,接著量化梯度方向并分析局部區域的主方向特征,最后基于梯度值對同方向像素進行加權融合,模擬出油畫的筆觸效果和紋理質感。項目實施步驟2:油畫效果生成關鍵代碼如下:本步驟的輸出如圖3-17所示。圖3-17油畫效果圖像項目實施步驟3:鉛筆畫效果生成首先將預處理后的圖像轉換為灰度圖像并進行簡化處理,然后創建灰度圖像的負片并用高斯模糊模擬鉛筆涂抹效果,最后通過除法運算將原始灰度圖像與模糊負片進行混合,生成具有明暗變化的素描效果,并使用中值濾波和閾值處理提高線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026中國煤炭地質總局所屬單位招聘(41人)筆試備考試題及答案詳解
- 2026年江西撫州撫州市撫北天然氣有限公司公開招聘管網運行工1人筆試模擬試題及答案詳解
- 2026年8月撫順市部分市直單位公益性崗位招聘11人考試備考題庫及答案詳解
- 烽火通信科技股份有限公司2027屆校園招聘考試模擬試題及答案詳解
- 2026中國能建陜西院工程承包公司項目管理崗位招聘筆試備考試題及答案詳解
- 培訓規劃方案書
- 2026年成都彭州市招聘員額教師188名筆試參考題庫及答案詳解
- 2026年吉林大學化學學院2026級本科生輔導員助理預選聘考試備考試題及答案詳解
- 2026年扎蘭屯市教育系統事業單位人才引進筆試備考題庫及答案詳解
- 2026浙江麗水市雷博勞動事務代理有限公司委托招聘筆試備考試題及答案詳解
- 《油田開發基礎知識》課件
- 硫磺買賣合同協議
- 幼兒園科技館設計方案
- 杭州市地鐵集團有限責任公司軌道交通保護區管理實施辦法7.28修改
- 中考名著《唐詩三百首》中考真題
- DB50T 989-2020 地質災害治理工程施工技術規范
- 2024年醫院體檢中心績效考核方案
- 2024-2025學年陜西省西安二十六中七年級(上)分班考數學試卷(含答案)
- 《工程招投標與合同管理》全套教學課件
- 《含能材料與應用》課件
- GB/T 43417-2023兒童青少年脊柱側彎矯形器的配置
評論
0/150
提交評論