版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第3章給圖像加濾鏡
1.3
圖像濾鏡
1.3
圖像濾鏡
卷積運算濾鏡變換的模板是一個單通道浮點矩陣,被稱為卷積核,相應(yīng)的計算規(guī)則被稱為卷積運算。移動卷積核的過程中,有“步幅”的概念,用于指定卷積核在輸入矩陣上的移動幅度,如步幅為1,每次移動1位,步幅為n,則每次移動n位。1.3
圖像濾鏡
處理不了的邊界1.3
圖像濾鏡
卷積運算解決邊界問題的1個有效的辦法是邊緣填補,主要填補方法如下:填補方法描述cv2.BORDER_DEFAULT邊界默認:OpenCV默認的方法,自動填充圖像邊界,效果像是映像一樣。cv2.BORDER_CONSTANT邊界常數(shù):使用常數(shù)填充邊界,如0或255。cv2.BORDER_REPLICATE邊界復制:用已知的邊緣像素值填充邊界。cv2.BORDER_WRAP邊界包裝:用另外一邊的像素來補償填充。2.3函數(shù)語法卷積函數(shù)該函數(shù)支持任意卷積核的卷積運用,呈現(xiàn)模糊、銳化、浮雕等濾鏡效果。filter2D()函數(shù)定義為:filter2D(src,ddepth,kernel[,dst[,anchor[,delta[,borderType]]]])→dstdst是結(jié)果圖像;src是輸入圖像;ddepth是結(jié)果圖形的深度,設(shè)置為-1,表示圖像深度與輸入圖像一致;kernal是卷積核,anchor:錨點,默認為(-1,-1)borderType是邊緣補充方式,OpenCV默認使用cv2.BORDER_DEFAULT方式。2.3函數(shù)語法例如::[[35799][35799][35799][35799][35799]][[357910][357910][357910][357910][357910]][[47101310][35795][35795][35795][23450]]1.3
圖像濾鏡
卷積運算卷積運算可以產(chǎn)生Photoshop等圖像處理軟件中的各種濾鏡效果,如模糊、銳化、輪廓、浮雕等。常用的卷積核矩陣如下:第3章給圖像加濾鏡
復習編程實現(xiàn)明確任務(wù)內(nèi)容學習圖像運算的基礎(chǔ)知識圖像運算基本知識
1.1圖像運算1.3圖像濾鏡1.2基本繪圖011.1圖像運算
濾鏡的實現(xiàn)建立在圖像運算的基礎(chǔ)上,學習編寫濾鏡小程序之前,先要了解圖像之間是如何進行運算的。圖像之間運算的主要內(nèi)容有基本運算、繪圖、圖像變換和圖像濾鏡。根據(jù)圖像的數(shù)學特征,圖像基本運算可分為點運算、代數(shù)運算、邏輯運算和幾何運算。1.1圖像運算
1.1圖像運算
1.1圖像運算
點運算1)如果a>1,輸出圖像的對比度增大(灰度擴展)2)如果0<a<1,輸出圖像的對比度減少(灰度壓縮)3)如果a<0,輸出圖像的暗區(qū)域?qū)⒆兞粒羺^(qū)域變暗3.1圖像運算
完成實驗報告練習13.1圖像運算
3.1圖像運算
OpenCV圖像代數(shù)運算主要函數(shù)3.1圖像運算
符號方法與函數(shù)方法運算過程3.1圖像運算
代數(shù)運算【例】采用符號法和函數(shù)法對圖像做代數(shù)運算,比較運算結(jié)果。完成實驗報告練習2.3.1圖像運算
代數(shù)運算代碼分析:原則上進行代數(shù)運算的2個圖像的形狀和類型必須保持一致,如果大小不一致,廣播特性將會發(fā)揮作用。如Add()函數(shù)的參數(shù)可以是圖像和圖像,也可以是圖形和數(shù)值。
3.1圖像運算
邏輯運算邏輯運算是指對兩幅或多幅圖像的對應(yīng)像素做邏輯與、或、異或、非等運算。常規(guī)邏輯運算的形式是按位運算,如果圖像數(shù)據(jù)類型是8位整數(shù),要進行邏輯運算,首先要將整數(shù)轉(zhuǎn)換為8位的二進制數(shù),再對8位二進制數(shù)按位進行邏輯運算,最后將結(jié)果再轉(zhuǎn)換為8位整數(shù)。例如:有數(shù)值1為198,數(shù)值2為219,他們的二進制分別是11000110、11011011,分別將他們進行邏輯運算,結(jié)果如下:數(shù)值(198與219)結(jié)果(十進制值)結(jié)果(二進制值)與運算19411000010或運算22311011111異或運算2900011101非運算(數(shù)值1)57001110013.1圖像運算
邏輯運算邏輯運算的一個典型應(yīng)用是掩模。在圖像處理過程中,經(jīng)常會使用特定的圖像全局或局部地對待處理圖像進行遮擋,以控制圖像處理的區(qū)域或處理過程,此處用于覆蓋的特定圖像被稱為掩模,也稱為掩碼。掩模在OpenCV中非常普遍,如add(src1,src2,mask)函數(shù)中mask指的就是掩模。掩模的實現(xiàn)采用了邏輯與運算的原理,即原圖像與0進行邏輯與運算,結(jié)果是0,與1進行與運算,結(jié)果為原圖像值。于是,只要設(shè)置好值為0和1的掩碼,就能夠達到遮擋部分區(qū)域的效果。3.1圖像運算
邏輯運算【例】讀取灰度圖cat.jpg,為圖像加上掩模,只顯示頭部區(qū)域。代碼分析:以灰度圖方式讀取圖像后,使用zeros()函數(shù)新建一個形狀與類型和原圖像一樣的全0數(shù)組,并設(shè)置數(shù)組的中心區(qū)域值為255,即二進制數(shù)11111111。OpenCV的bitwise_and()函數(shù)用于進行圖像之間的邏輯與操作。完成實驗報告練習33.1圖像運算
邏輯運算程序運行效果:第3章給圖像加濾鏡
復習【單選】圖像的值為100和250的兩個像素通過“+”運算結(jié)果為?
A
350
B
100
C
255
D
94【單選】圖像的值為100和250的兩個像素通過add()函數(shù)運算結(jié)果為?
A
350
B
100
C
255
D
943.1圖像運算
幾何運算幾何運算也稱為幾何變換,相較于前面不會改變像素位置的運算類型,幾何運算是一類能夠?qū)崿F(xiàn)像素坐標變換的運算。從變換性質(zhì)來分,幾何變換可以分為:(1)圖像的位置變換(平移、鏡像、旋轉(zhuǎn))(2)圖像的形狀變換(放大、縮小)(3)圖像的復合變換3.1圖像運算
幾何運算縮放:resize(src,dsize[,dst[,fx[,fy[,interpolation]]]])→dst其中:src是輸入圖像,dsize是輸出圖像大小,如(100,100);其他可用替代的方式還有設(shè)置水平縮放比例fx和垂直縮放比例fy。圖像大小和縮放比例不能同時使用,如使用縮放比例,dsize需要設(shè)置為None。Interpolation是插值方式,用于選擇在縮放過程中對無法映射的像素賦值的方式,在實際使用的時候可以不用特意去設(shè)置,使用默認方式(INTER_LINEAR)即可。此處的dsize是(寬-x軸,高-y軸),而np.shape獲得的多維數(shù)組的默認存儲方式是C,先行后列,即形狀為(高-行數(shù),寬-列數(shù),通道)示例語句:
dst=cv2.resize(src,(100,100))dst=cv2.resize(src,dsize=None,fx=2,fy=3)3.1圖像運算
幾何運算縮放:resize(src,dsize[,dst[,fx[,fy[,interpolation]]]])→dst其中:示例語句:dst=cv2.resize(src,(100,100),interpolation=cv2.INTER_NEAREST)interpolation 所用的插值方法INTER_NEAREST 最近鄰插值INTER_LINEAR 雙線性插值(默認設(shè)置)INTER_AREA 使用像素區(qū)域關(guān)系進行重采樣。它可能是圖像抽取的首選方法,因為它會產(chǎn)生無云紋理的結(jié)果。但是當圖像縮放時,它類似于INTER_NEAREST方法。INTER_CUBIC 4x4像素鄰域的雙三次插值INTER_LANCZOS48x8像素鄰域的Lanczos插值Resize()3.1圖像運算
幾何運算翻轉(zhuǎn):flip(src,flipCode[,dst])→dst
dst是輸出圖像,src是輸入圖像,filpCode是旋轉(zhuǎn)類型,0表示繞著x軸翻轉(zhuǎn);正數(shù)如1、2等為繞著y軸翻轉(zhuǎn);負數(shù)如-1、-2等為繞著x軸、y軸同時翻轉(zhuǎn)。示例語句:
dst=cv2.flip(src,1)
3.1圖像運算
幾何運算翻轉(zhuǎn):flip(src,flipCode[,dst])→dst
仿射變換和透視變換
本質(zhì):矩陣運算區(qū)別:仿射:基于3個固定頂點的變換透視:基于4個固定頂點的變換OpenCV函數(shù):warpAffine(img,M,shape)warpPerspective(img,M,shape)353.1圖像運算
放射變換仿射:warpAffine(src,M,dsize[,dst[,flags[,borderMode[,borderValue]]]])→dst其中:dst是輸出圖像,src是輸入圖像,M代表一個2×3的變換矩陣,通過使用不同的變換矩陣,就能實現(xiàn)不同的變換功能;dsize是輸出圖像的尺寸大小。仿射變換通過一系列變換的復合實現(xiàn),能夠完成平移、縮放、翻轉(zhuǎn)、旋轉(zhuǎn)和剪切等幾何變換。示例語句:
dst=cv2.warpAffine(src,M,(200,200))
3.1圖像運算
3.1圖像運算
放射變換常用M變換矩陣變換類型變換矩陣平移縮放旋轉(zhuǎn)翻轉(zhuǎn)切變3.1圖像運算
仿射變換【例】讀取灰度圖cat.jpg,使用平移矩陣對圖像做簡單平移操作。代碼如下:完成實驗43.1圖像運算
仿射變換通過函數(shù)獲得M參數(shù):center:旋轉(zhuǎn)中心位置angle:旋轉(zhuǎn)角度scale:圖像縮放比例M=cv2.getRotationMatrix2D(center,angle,scale)【例】,要以圖像中心為圓點,逆時針旋轉(zhuǎn)45度,并將目標圖像縮小為原始圖像的0.6倍:完成實驗5透視變換cv2.warpPerspective(src,M,dsize=(cols,rows))參數(shù):
src:原圖
M:一個3x3的變換矩陣
dsize:輸出圖像的尺寸大小,
先指定(第一個參數(shù)是)col,再指定(第二個參數(shù)是)rowM如何得到?透視變換cv2.warpPerspective(src,M,dsize=(cols,rows))完成實驗61.2
OpenCV基本繪圖計算機中圖像是以數(shù)組的形式存儲,數(shù)組中的值代表圖像某個像素點的像素值,只要能對數(shù)組的值進行操作,就可以實現(xiàn)繪圖。OpenCV提供了封裝好的繪圖函數(shù),不需要關(guān)心如何修改像素值,直接調(diào)用就可以繪制圖形,包括直線、矩形、多邊形、圓、橢圓、文字等。部分函數(shù)如下:函數(shù)描述line()在輸入圖像上畫直線arrowedLine()畫帶箭頭的直線rectangle()畫矩形circle()畫圓形ellipse()畫橢圓putText()顯示文字1.2
OpenCV基本繪圖
【例3.5】新建一個400×400尺寸的黑色畫板,在畫板上進行基本繪圖。代碼如下:完成實驗7拓展繪圖練習使用opencv繪圖函數(shù),繪制國旗(允許使用AI工具生成Opencv代碼)/guoqing/guoqi/第3章給圖像加濾鏡
1.3
圖像濾鏡
1.3
圖像濾鏡
卷積運算濾鏡變換的模板是一個單通道浮點矩陣,被稱為卷積核,相應(yīng)的計算規(guī)則被稱為卷積運算。移動卷積核的過程中,有“步幅”的概念,用于指定卷積核在輸入矩陣上的移動幅度,如步幅為1,每次移動1位,步幅為n,則每次移動n位。1.3
圖像濾鏡
處理不了的邊界1.3
圖像濾鏡
卷積運算解決邊界問題的1個有效的辦法是邊緣填補,主要填補方法如下:填補方法描述cv2.BORDER_DEFAULT邊界默認:OpenCV默認的方法,自動填充圖像邊界,效果像是映像一樣。cv2.BORDER_CONSTANT邊界常數(shù):使用常數(shù)填充邊界,如0或255。cv2.BORDER_REPLICATE邊界復制:用已知的邊緣像素值填充邊界。cv2.BORDER_WRAP邊界包裝:用另外一邊的像素來補償填充。2.3函數(shù)語法卷積函數(shù)該函數(shù)支持任意卷積核的卷積運用,呈現(xiàn)模糊、銳化、浮雕等濾鏡效果。filter2D()函數(shù)定義為:filter2D(src,ddepth,kernel[,dst[,anchor[,delta[,borderType]]]])→dstdst是結(jié)果圖像;src是輸入圖像;ddepth是結(jié)果圖形的深度,設(shè)置為-1,表示圖像深度與輸入圖像一致;kernal是卷積核,anchor:錨點,默認為(-1,-1)borderType是邊緣補充方式,OpenCV默認使用cv2.BORDER_DEFAULT方式。2.3函數(shù)語法例如::#對類型為uint8的numpy矩陣做卷積運算,
使用不同的插值方式,查看卷積結(jié)果。代碼如下:
importcv2
importnumpyasnp
A=np.array((
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5]),dtype=np.uint8)
kernel=np.array(([0,-1,0],[0,1,1],[0,1,0]),dtype="float32")
des=cv2.filter2D(A,-1,kernel,borderType=cv2.BORDER_DEFAULT)
des1=cv2.filter2D(A,-1,kernel,borderType=cv2.BORDER_REPLICATE)
des2=cv2.filter2D(A,-1,kernel,borderType=cv2.BORDER_CONSTANT)[[35799][35799][35799][35799][35799]][[357910][357910][357910][357910][357910]][[47101310][35795][35795][35795][23450]]1.3
圖像濾鏡
卷積運算卷積運算可以產(chǎn)生Photoshop等圖像處理軟件中的各種濾鏡效果,如模糊、銳化、輪廓、浮雕等。常用的卷積核矩陣如下:明確濾鏡小程序任務(wù)2.1任務(wù)分析2.2過程分解2.3函數(shù)語法02PART2.1任務(wù)分析任務(wù)分析濾鏡小程序主要使用到圖像處理中的卷積運算,通過窗口的界面交互功能,實現(xiàn)不同濾鏡之間的靈活切換。借助Python的GUI編程庫,如Tkinter、wxPython、PyGTK等。Tkinter是內(nèi)嵌于Python3中的輕量級GUI工具庫,也是本次任務(wù)采用的GUI開發(fā)工具庫濾鏡功能的實現(xiàn)依賴卷積核,在前面卷積核的介紹中,已經(jīng)整理出了常用的濾鏡卷積核,通過使用不同的卷積核進行卷積運算,即可觀察不同的濾鏡效果2.2過程分解過程分解濾鏡小程序的實現(xiàn)過程包括。界面設(shè)計。首先使用Tkinter進行界面設(shè)計,規(guī)劃左邊的控制區(qū)域和右邊的圖像顯示區(qū)域。左邊的控制區(qū)域包括圖像選擇按鈕、各種濾鏡切換按鈕。功能綁定。將各個濾鏡效果的響應(yīng)函數(shù)綁定到功能按鈕上濾鏡實現(xiàn)。完成各個濾鏡效果響應(yīng)函數(shù)的代碼編寫預期界面區(qū)域劃分2.3函數(shù)語法TkinterTkinter是Python的標準GUI庫。Python使用Tkinter可以快速的創(chuàng)建GUI應(yīng)用程序。Python3.x使用的庫名為tkinter,使用importtkinter導入庫。Tkinter的使用過程(1)導入Tkinter模塊;(2)創(chuàng)建控件;(3)綁定響應(yīng)函數(shù)。import
tkinter
top=tkinter.Tk()
#創(chuàng)建控件_代碼…#綁定控件響應(yīng)程序_代碼
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職汽車運用與維修(發(fā)動機故障排查)試題及答案
- 2026年注冊安全工程師(安全生產(chǎn)專業(yè)實務(wù)道路運輸安全)試題及答案
- 2025年大學風電系統(tǒng)運行與維護(風電維護)試題及答案
- 2025年高職(眼視光技術(shù))驗光配鏡技術(shù)試題及答案
- 2025年中職建筑安全(建筑安全技術(shù))試題及答案
- 2025年中職第一學年(會計電算化)財務(wù)軟件操作試題及答案
- 深度解析(2026)GBT 18400.5-2010加工中心檢驗條件 第5部分:工件夾持托板的定位精度和重復定位精度檢驗
- 2025教師個人工作總結(jié)報告范文
- 深度解析(2026)《GBT 17980.140-2004農(nóng)藥 田間藥效試驗準則(二) 第140部分水稻生長調(diào)節(jié)劑試驗》
- 深度解析(2026)《GBT 17980.28-2000農(nóng)藥 田間藥效試驗準則(一) 殺菌劑防治蔬菜灰霉病》
- DB51-T 705-2023 四川主要造林樹種苗木質(zhì)量分級
- 憲法精神團日活動
- 醫(yī)院醫(yī)療質(zhì)量同質(zhì)化管理辦法
- GB/T 31526-2025電子商務(wù)平臺服務(wù)質(zhì)量評價
- 智能管道泄漏檢測技術(shù)可行性分析報告
- AGV小車安全培訓課件
- 客流統(tǒng)計施工方案
- 傳熱學課件教學課件
- 監(jiān)督還款人責任合同范本
- 2025年跨境貿(mào)易對賭協(xié)議示范文本
- T∕CSTM 00348-2021 粉末冶金高速工具鋼
評論
0/150
提交評論