數字圖像處理與深度學習技術應用 課件 第1-3章 圖像處理編程基礎、彩色圖像特效處理、圖像的合成處理_第1頁
數字圖像處理與深度學習技術應用 課件 第1-3章 圖像處理編程基礎、彩色圖像特效處理、圖像的合成處理_第2頁
數字圖像處理與深度學習技術應用 課件 第1-3章 圖像處理編程基礎、彩色圖像特效處理、圖像的合成處理_第3頁
數字圖像處理與深度學習技術應用 課件 第1-3章 圖像處理編程基礎、彩色圖像特效處理、圖像的合成處理_第4頁
數字圖像處理與深度學習技術應用 課件 第1-3章 圖像處理編程基礎、彩色圖像特效處理、圖像的合成處理_第5頁
已閱讀5頁,還剩153頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1.1Python開發基礎1.2數字圖像處理與深度學習技術簡介1.3系統界面開發基礎1.4圖像顯示第1章圖像處理編程基礎1.1Python開發基礎Python的安裝(1)進入Python的官方下載頁面,/downloads/,單擊downloads(2)選擇需要的Python版本。(3)找到要下載的Python版本,單擊安裝。(4)測試Python是否安裝成功。(5)添加環境變量。PyCharm的安裝.PyCharm的安裝PyCharm是一種十分簡易且有效的Python編輯器。從官網上下載PyCharm的安裝包,使用的是PyCharmCommunity版本。找到下載完成的.exe文件,依次單擊【Next】按鈕、【Install】按鈕、【Finish】按鈕即可完成安裝。PyCharm的初始化2.PyCharm的初始化完成上面的PyCharm軟件安裝后,需要對PyCharm進行一些初始化配置。在PyCharm中安裝常用庫方法1.在PyCharm中安裝常用庫在完成PyCharm的初始化配置后,接下來配置OpenCV及一些常用庫。單擊左上角的【File】菜單,之后單擊【Settings】,打開【Project:pythonProject】欄目,單擊【ProjectInterpreter】,雙擊【pip】,出現OpenCV庫函數配置界面。選擇【opencv-python】后,單擊左下角的【InstallPackage】按鈕,在PyCharm中安裝常用庫方法2.在命令提示符中安裝常用庫打開命令提示符后,輸入“piplist”即可查看Python中安裝的常用庫。輸入“pipinstall下載的模塊名”然后單擊回車鍵即可安裝。本仿真系統所用模塊對應的安裝命令為:在PyCharm中安裝常用庫pipinstalltkinterpipinstallpillowpipinstallopencv-pythonpipinstallnumpypipinstallmatplotlibpipinstallscipypipinstalleasyguipipinstallpywin32pipinstallscikit-image1.2數字圖像處理與深度學習技術簡介圖像處理仿真系統圖像處理仿真系統圖像處理仿真系統,該仿真系統集成九大模塊:圖像色彩處理、圖像合成、幾何變換、灰度變化、平滑處理、邊緣銳化處理、形態學處理、分割及測量和變換域處理等內容,包含了各類圖像處理算法,涵蓋了數字圖像處理大部分的基礎知識。仿真系統界面含有Windows窗口、提示語、運行按鈕、以章命名的菜單項、各章對應算法的子菜單項、子菜單項消息映射響應函數、處理前及處理后的圖像顯示等要素。數字圖像處理系統數字圖像處理系統一般數字圖像處理系統含有圖像處理、圖像分析以及圖像識別理解三個層次。3.深度學習的基礎深度學習引入了端到端學習的概念,即從輸入圖像到識別類別的三個層次在一個模型框架內完成。1.3系統界面開發基礎常用設計圖形界面的模塊常用設計圖形界面的模塊Python有多種用于設計用戶界面的模塊,常用的模塊:

Tkinter:使用Tk平臺,Python系統自帶的標準圖形用戶界面庫;使用Tkinter庫創建窗口界面使用Tkinter庫創建窗口界面(1)導入Tkinter模塊;importtkinter或fromtkinterimport*(2)創建一個頂層容器對象;root=tkinter.Tk()#創建一個窗體對象root.title(‘數字圖像處理——python’)#設置窗口標題root.geometry(‘750x490+110+50’)#設置窗口大小(3)在頂層容器對象中,添加其他組件;(4)采取調用pack()方法進行容器的組件布局;(5)進入主事件循環。root.mainloop()#顯示窗口(消息循環)創建窗口界面fromtkinterimport*root=Tk()#頂層窗口對象root.title('數字圖像處理——python')#設置窗口大小root.geometry('750x490+110+50')root.mainloop()添加文字提示語fromtkinterimport*root=Tk()#頂層窗口對象root.title('數字圖像處理——python')#設置窗口大小root.geometry('750x490+110+50')Label(root,text='提示1:!!!謝謝!',font=('楷體',15),width=80,height=2).pack()Label(root,text='提示2:打開攝像頭謝謝!',font=('楷體',15),width=80,height=2).pack()root.mainloop()圖像在界面中自動顯示img_1=Image.open('sucai.jpg')

加載一張圖片到內存中photo_1=ImageTk.PhotoImage(img_1)

轉換成可顯示的圖像對象img_label_1=Label(root,image=photo_1).pack(side='left')

借助tkinter中的Label組件將圖像顯示在界面上#界面右邊顯示圖片img_2=Image.open('sucai.jpg')photo_2=ImageTk.PhotoImage(img_2)img_label_r=Label(root,image=photo_2).pack(side='right')界面自動顯示圖像fromtkinterimport*fromPILimportImageTkfromPILimportImage,ImageEnhanceroot=Tk()#頂層窗口對象root.title('數字圖像處理——python')#設置窗口大小root.geometry('750x490+110+50')Label(root,text='謝謝!',font=('楷體',15),width=80,height=2).pack()Label(root,text='謝謝!',font=('楷體',15),

width=80,height=2).pack()img_1=Image.open('sucai.jpg')photo_1=ImageTk.PhotoImage(img_1)img_label_1=Label(root,image=photo_1).pack(side='left')#界面右邊顯示圖片img_2=Image.open('sucai.jpg')photo_2=ImageTk.PhotoImage(img_2)img_label_r=Label(root,image=photo_2).pack(side='right')root.mainloop()圖像在界面中自動顯示(1)需要導入模塊fromtkinterimport*fromPILimportImageTkfromPILimportImage,ImageEnhance(2)使用Image.open()方法加載一張圖片到內存中,并用ImageTk.PhotoImage()方法將其轉換成可顯示的圖像對象。img=Image.open("'sucai.jpg")#加載圖片photo=ImageTk.PhotoImage(img)#轉換成可顯示的圖像對象```圖像在界面中自動顯示(3)借助tkinter中的Label組件將圖像顯示在界面上root=Tk() #創建窗口對象label=Label(root,image=photo) #創建標簽對象label.pack() #將標簽放置到窗口中root.mainloop() #運行窗口事件循環制作菜單menuBar=Menu(root)

創建菜單條root.configure(menu=menuBar)

把菜單條放置到窗體中fileMenu=Menu(menuBar)

在菜單條中創建菜單menuBar.add_cascade(label="文件",menu=fileMenu)

為菜單添加文字標簽fileMenu.add_command(label="打開圖像",command=open_image)

在菜單中添加菜單項fileMenu.add_command(label="打開攝像頭",command=open_camera)菜單(1)創建菜單條對象:menubar=Menu(窗體容器)(2)把菜單條放置到窗體中:窗體容器.config(menu=menubar)(3)在菜單條中創建菜單:菜單名稱=Menu(menubar,tearoff=0)(4)為菜單添加文字標簽menubar.add_cascade(label="文字標簽",menu=菜單名稱)(5)在菜單中添加菜單項菜單名稱.add_command(label="菜單項名稱",command=功能函數名)fileMenu.add_command(label="打開攝像頭",command=open_camera)#在菜單中添加菜單項打開圖像文件菜單用戶打開圖像文件的顯示首先通過建立文件菜單,在【打開圖像】子菜單項指定消息響應函數open_image()menuBar=Menu(root)root.configure(menu=menuBar)fileMenu=Menu(menuBar)menuBar.add_cascade(label="文件",menu=fileMenu)fileMenu.add_command(label="打開圖像",command=open_image)打開攝像頭拍攝圖像菜單攝像頭拍攝圖像的顯示首先通過文件菜單,在【打開攝像頭】子菜單項指定消息響應函數open_camera()menuBar=Menu(root)root.configure(menu=menuBar)fileMenu=Menu(menuBar)menuBar.add_cascade(label="文件",menu=fileMenu)fileMenu.add_command(label="打開攝像頭",command=open_camera)選擇文件--顯示圖像defopen_image():globalimg_label_1,photo_3,sFilePathsFilePath=easygui.fileopenbox()img_3=Image.open(sFilePath)x_s=300#definestandardwidthy_s=300#calcheightbasedonstandardwidthout=img_3.resize((x_s,y_s),Image.ANTIALIAS)#resizeimagewithhigh-qualityout.save('save.jpg')sFilePath='save.jpg'photo_3=ImageTk.PhotoImage(out)img_label_1.configure(image=photo_3)configure函數在Python中,configure函數是一個通用的TkinterGUl方法,它允許您動態更改控件的選項和配置。img_1=Image.open('sucai.jpg')photo_1=ImageTk.PhotoImage(img_1)img_label_1=

Label(root,image=photo_1).pack(side='left')改為:img_label_1.configure(image=photo_3)defopen_camera():globalimg_label_1,photo_3,sFilePathcap=cv2.VideoCapture(0)#獲取攝像頭設備或打開攝像頭ifcap.isOpened():#判斷攝像頭是否已經打開,若打開則進入循環whileTrue:#無無限循環ret,frame=cap.read()#frame獲取視頻的一幀

cv2.imshow('camera',frame)#顯示一張張圖片來實現的ifcv2.waitKey(1)&0xff==ord('q'):#如果在循環中按下鍵盤的q鍵cv2.imwrite('save.jpg',frame)#將最后一幀寫入當前工程文件的目錄下,名顯示拍攝圖像

im=Image.open('save.jpg')x_s=300#definestandardwidthy_s=300#calcheightbasedonstandardwidthout=im.resize((x_s,y_s),Image.ANTIALIAS)

out.save('save.jpg')sFilePath='save.jpg'img_3=Image.open(sFilePath)photo_3=ImageTk.PhotoImage(img_3)img_label_1.configure(image=photo_3)break顯示拍攝圖像cap.release()#釋放資源,即銷毀進程cv2.destroyAllWindows()#銷毀所有窗口顯示拍攝圖像變量設置的考慮判斷打開的文件來源1.自帶文件:

sFilePath='start'2.用戶選擇和視頻文件:sFilePath='save.jpg'3.處理圖像的函數:deftuxiangzhuanhuan():globalsFilePathifsFilePath!='start':img=Image.open(sFilePath)else:img=Image.open('sucai.jpg')zhuanhuan_img=img.convert("L")#灰度化zhuanhuan_img.save('result.jpg')變量設置的考慮作者楊淑瑩敬上謝謝!第2章彩色圖像特效處理灰度圖像的像素值是光強,即二維空間變量的函數f(x,y)。彩色圖像:把灰度值看成是二維空間變量和光譜變量的函數f(x,y,λ),即多光譜圖像計算機顯示彩色圖像時,采用RGB顏色模型。2.1.1概述顏色:是外界光刺激作用于人的視覺器官而產生的主觀感覺。顏色分兩大類:非彩色和彩色。非彩色:是指黑色、白色和灰色,也稱為無色系列。彩色:是指除了非彩色以外的各種顏色。

三基色原理

兩種感光細胞:在人的視覺系統中存在著桿狀細胞和錐狀細胞。桿狀細胞:為暗視器官。錐狀細胞:是明視器官,將電磁光譜的可見部分分為三個波段:紅、綠、藍,在照度足夠高時起作用,能分別辨顏色。

三基色原理

人類視覺系統三類錐狀細胞的光譜敏感曲線。

三基色原理

三基色:三種顏色紅、綠、藍組成。1)自然界的任何顏色由三基色按不同比例混合而成;每種顏色都可以分解成三種基本顏色。2)三基色之間是相互獨立的,任何一種顏色都不能由其余的兩種顏色來組成。色度學基礎顏色模型:科學地定量描述和使用顏色。常用:RGB:視頻監視器、彩色攝像機。HSI:以彩色處理為目的的應用,如動畫中的彩色圖形。CMYK:印刷工業。YUV:電視信號傳輸。彩色空間

用三維空間中的一個點來表示一種顏色。每個點有三個分量,紅、綠、藍亮度值。

RGB模型彩色立方體中三個角對應于三基色紅、綠、藍剩下的三個角對應于三個補色——黃色、青色(藍綠色)、品紅(紫色)

RGB模型顏色名R值G值B值紅25500綠02550藍00255白255255255黑000青0255255紫2550255黃2552550反映了人的視覺系統觀察彩色的方式,符合人的視覺感受,讓人覺得更加直觀一些。適合借助人的視覺系統來感知彩色特性的圖像處理算法。在藝術上經常使用HSI模型。HSI顏色模型RGB格式從物理和光學角度描述顏色不同,HSI則是根據視覺的主觀感覺對顏色描述人眼不能直接感覺紅、綠、藍三色的比例,只能通過感知顏色的亮度、色度和飽和度來區分物體。HSI顏色模型三個基本屬性:色調、飽和度和亮度。顏色模型HIS:基于這三個基本屬性。HSI表征彩色信息的兩個參數:

色度(hue)和飽和度(saturation)。顏色的三個屬性亮度(Intensity):指光波作用于感受器所發生的效應,大小由物體反射系數決定,系數越大,物體亮度愈大,反之愈小。與圖像的彩色信息無關。色度(Hue):表明顏色種類,決定顏色本質,由物體反射光線中占優勢的波長決定,不同波長產生不同的顏色感覺。飽和度(Saturation):是指顏色的深淺和濃淡程度,飽和度越高,顏色越深。顏色的三個屬性色調:由角度表示該彩色最接近什么樣的光譜波長。

0°紅色,120°綠色,240°藍色。0°到240°覆蓋可見光譜彩色,

240°到300°之間為人眼可見的非光譜色(紫色)。飽和度:色環的圓心到半徑的長度。環邊界上飽和度值為1,純顏色。中心飽和度為0,是灰色陰影。HIS色相環HSI模型的三個屬性定義了一個三維柱形空間。灰度陰影沿著軸線從底部的黑變到頂部的白,具有最高亮度。最大飽和度的顏色位于圓柱上頂面的圓周上。HSI三維柱形空間對任何3個[0,1]范圍內的R、G、B值,其對應HSI模型中的I亮度、S飽和度、H色度分量的計算公式為RGB轉換到HSI空間H色度是在[0°,360°]范圍內。當S=0時對應的是無色彩的中心點,這時H就沒有意義,此時定義H為0。當I=0時,S也沒有意義。設S、I的值在[0,1]之間,R、G、B[0,1]之間,HSI轉換為RGB的公式為:RGB轉換到HSI空間

H[120°,240°]H[240°,360°]H[0°,120°]HSI轉換到RGB空間YUV顏色模型:由1個亮度信號Y和兩個色差信號U、V組成。它是利用了人眼對亮度信號敏感而對色度信號相對不敏感的特點。電視系統中常用的顏色模型。YUV顏色模型YUV表示電視信號彩色坐標系統;YUV彩色電視信號傳輸時,將R、G、B變換為亮度信號和色度信號;其中Y信號表示亮度,U、V表示色差信號。YUV顏色模型RGB轉換到YUV空間屏幕顯示:用RGB表色系統,通過相加來產生其他顏色,加色合成法(AdditiveColorSynthesis)。印刷工業:用CMYK表色系統,通過顏色相減來產生其他顏色的,減色合成法(SubtractiveColorSynthesis)。

CMYK顏色模型

CMY顏色模型:青色(Cyan)、品紅色(Magenta)、黃色(Yellow),是紅、綠、藍的補色,稱為減色基。是彩色圖像印刷行業使用的彩色空間。在處理圖像時,一般不用CMYK模式,文件大,占用的磁盤空間和內存大。這種模式一般在印刷時使用。CMYK顏色模型3.RGB與CMYRGB轉換到CMY空間Lab顏色由亮度或光亮度分量L和a、b兩個色度分量組成。其中a在的正向數值越大表示越紅,在負向數值越大則表示越綠;b在的正向數值越大表示越黃,在負向的數值越大表示越藍。Lab顏色模型Lab顏色與設備無關,無論使用何種設備(如顯示器、打印機、計算機或掃描儀)創建或輸出圖像,這種模型都能生成一致的顏色。Lab顏色模型位圖深度:位圖中記錄每個像素點所占的位數,它決定了彩色圖像中可出現的最多顏色數,或者灰度圖像中的最大灰度等級數。

位圖深度位圖顏色數圖像深度每個像素顏色值的特點單色21位不是0就是1灰度圖像2568位含顏色索引表;R、G、B各分量值相等;像素值是索引表的索引號。偽彩色圖像2568位含顏色索引表;R、G、B分量值不全相等;像素值是索引表的索引號24位真彩色1677萬24位不包含顏色索引表;像素值由R、G、B分量組成

位圖深度位圖文件頭結構BITMAPFILEHEADER位圖信息頭結構BITMAPINFOHEADER位圖像素數據24位彩色圖像BMP文件組成(1)文件帶有圖像顏色表。

fred(x,y)=fgreen(x,y)=fblue(x,y)(2)像素值是圖像顏色表的索引地址。由8位組成,從0~255.125,153,158,157,127,70,103,120,129,144,144,150,150,147,150,160,133,154,158,100,116,120,97,74,54,74,118,146,148,150,145,157,155,163,95,112,123,101,137,108,81,71,63,81,137,142,146,152,167,69,85,59,65,43,85,34,69,78,104,101,117,132,134,149,54,46,38,44,38,36,44,36,25,48,115,113,114,124,135,152,58,30,44,35,28,69,144,147,57,60,93,106,119,124,131,144,圖像顏色表索引號BGR0000…2552552552558位灰度圖像(1)顏色表紅、綠、藍顏色分量值不全相等。(2)像素值是圖像顏色表的索引地址。顏色索引表顏色名R值G值B值紅25500綠02550藍00255白255255255黑000青0255255紫2550255黃25525508位偽彩色圖像(1)每一像素由RGB三個分量組成。(2)每個分量各占8位,取值范圍為0~255,每個像素24位。(207,137,130)(220,179,163)(215,169,161)(210,179,172)(210,179,172)(207,154,146)(217,124,121)(215,169,161)(216,179,170)(216,179,170)(207,137,120)(159,51,71)(213,142,135)(216,179,170)(221,184,170)(190,89,89)(204,109,113)(204,115,118)(216,179,170)(220,188,176)(190,77,84)(206,95,97)(217,113,113)(189,85,97)(222,192,179)(150,54,71)(177,65,73)(145,39,65)(150,47,67)(112,20,56)(136,38,65)(112,20,56)(112,20,56)(109,30,65)(112,20,56)(95,19,64)(136,38,65)(91,11,56)(113,25,60)(103,19,59)(81,12,59)(126,62,94)(138,46,71)(103,19,59)(158,65,83)(124,40,70)(145,62,79)(130,46,73)24位真彩色圖像位圖文件頭結構BITMAPFILEHEADER位圖信息頭結構BITMAPINFOHEADER位圖像素數據位圖文件頭結構BITMAPFILEHEADER位圖信息頭結構BITMAPINFOHEADER顏色表位圖像素數據8位位圖文件結構24位位圖文件結構圖像文件結構typedef

struct

tagBITMAPFILEHEADER{

WORDbfType;//BM,2byteDWORDbfSize;//文件大小,4byte

WORDbfReserved1;//0WORDbfReserved2;//0DWORDbfOffBits;//位圖數據的起始位置,}TMAPFILEHEADER;//(14byte)BMP文件結構typedef

struct

tagBITMAPINFOHEADER{DWORDbiSize;//biSize=40byteLONGbiWidth;LONGbiHeight;WORDbiPlanes;//1WORDbiBitCount;//每個像素所需的位數,24DWORDbiCompression;//位圖壓縮類型,0

DWORDbiSizeImage;//位圖的大小,

LONGbiXPelsPerMeter;//0LONGbiYPelsPerMeter;//0DWORDbiClrUsed;//顏色數0

DWORDbiClrImportant;//重要的顏色數0}BITMAPINFOHEADER;圖像文件結構(207,137,130)(220,179,163)(215,169,161)(210,179,172)(210,179,172)(207,154,146)(217,124,121)(215,169,161)(216,179,170)(216,179,170)(207,137,120)(159,51,71)(213,142,135)(216,179,170)(221,184,170)(190,89,89)(204,109,113)(204,115,118)(216,179,170)(220,188,176)(190,77,84)(206,95,97)(217,113,113)(189,85,97)(222,192,179)(150,54,71)(177,65,73)(145,39,65)(150,47,67)(112,20,56)(136,38,65)(112,20,56)(112,20,56)(109,30,65)(112,20,56)(95,19,64)(136,38,65)(91,11,56)(113,25,60)(103,19,59)(81,12,59)(126,62,94)(138,46,71)(103,19,59)(158,65,83)(124,40,70)(145,62,79)(130,46,73)24位圖像數據第2章彩色圖像處理2.2圖像的顏色處理(第二講)2.2.1彩色圖像的灰度化處理灰度化處理:是把含有亮度和色彩的彩色圖像變換成灰度圖像的過程。處理方法:使RGB模型中顏色R、G、B分量值相等,即:R=G=BGray(i,j)=0.11*R(i,j)+0.59*G(i,j)+0.3*B(i,j)1)綠色所占比重最大,用G值為轉換后的灰度。2)取三個分量的最大值、最小值、算術平均值等轉換后的灰度值越大越白、越亮,越小越黑。

灰度化處理效果圖1)取得圖像文件的拷貝文件;2)取得圖像的數據區指針,得到像素的三個分值;3)將三個值比較,取得最大值;4)將最大值返回給三個分量;5)顯示圖像。實現步驟2.2.2灰度圖像著色處理

人眼對灰度的分辨能力很差,對彩色信號的分辨率很強,將灰度圖像轉換為彩色圖像,人眼可以提取更多的信息量。

由于24位灰度圖像的三分量值相等,所以改變對應的三個分量的值,可得偽彩色圖像。

通過調整紅、綠、藍的值而得到不同顏色效果的彩色圖像。

若輸入相等的分量值時,即得到不同亮度的灰度圖像。灰度圖像著色處理效果圖1)從對話框輸入這三個分量的系數:m_Red(紅)、m_Green(綠)、m_Blue(藍);2)取得數據區指針,得到像素的三個分值;3)計算灰度值gray=0.3×R+0.59×G+0.11×B4)將對話框輸入值m_Red(紅)、m_Green(綠)、m_Blue(藍)分別乘以計算得到的灰度值并除以255;5)再把值返回給藍、綠、紅三個指針變量。實現步驟2.2.3亮度調整人眼對亮度是非常敏感的,在比較兩個強弱不同亮度時,有較好的判斷力。所以在圖像的處理過程中,經常要對亮度和對比度進行調整。亮度調整:指人眼亮度感覺的調整,可以通過對R、G、B顏色的增加或減少相同的增量來顯示。亮度調整:給每個分量乘以一個百分比值,這個值由對話框輸入。三個顏色指針分別乘以一個百分比后再返回給原來的顏色分量。①當輸入值為100時,保持原來亮度;②當輸入值小于100時,亮度減少,變暗;③當輸入值大于100時,亮度增加。亮度調整效果圖1)取得圖像文件的拷貝文件;2)從對話框輸入任意整數值(0~500);3)取得圖像的數據區指針,得到像素的藍、綠、紅的三個分值;4)將這三個值分別乘以對話框輸入的百分比;5)檢驗所得到的每個值是否在(0~255)范圍內,若越界則取邊界值255;6)再把三個新值返回給藍、綠、紅三個變量。實現步驟2.2.4對比度調整對比度:是顏色分量之間的差值。調整對比度:使圖片的顏色之間更符合人們的需求,實現一些效果。低對比度:整幅圖偏暗,或整幅圖偏亮,顏色都擠在一起,沒有拉開。增加對比度:把所感興趣的顏色范圍拉開,亮的越亮,暗的越暗,達到增強對比度的目的。改變對比度就是對每一顏色分量以一致的方式來改變最大值和最小值之間的差值,要對每一個像素RGB分量的值都要進行調整。對比度調整從對話框獲得調整參數n(-127,128)之間。1)輸入值為0時,保持原對比度;2)輸入值小于0時,減少對比度。減少對比度變化的方法是:

對分量的區間縮小,從[0,255]減少到[-n,255+n]。對比度調整3)輸入值大于0時,增加圖像的對比度。增加對比度變化的方法是:

對分量的區間擴大,把從[n,255-n]增加到[0,255]。對比度調整效果圖2.3彩色圖像的特效處理彩色圖像的特效處理包括:

彩色圖像的逆反處理;

彩色圖像的暴光處理;

彩色圖像的擴散處理。

彩色圖像馬賽克處理2.3.1彩色圖像的逆反處理

圖像亮度逆反處理:對每個像素的三個分量值分別求逆反處理,即用255分別減去當前像素的三個分量值,而相減得到三個新值作為圖像的值。效果圖1)取得圖像的數據區指針,得到當前點的三個分值;2)對這三個值分別進行取反;3)再把三個新值返回給藍、綠、紅三個指針變量;4)顯示圖像。實現步驟2.3.2彩色圖像的曝光處理曝光圖像:或多或少地損失了在原圖像中可以看到的那些明快的顏色和色調。曝光圖像算法:逆轉數值小于128的R、G、B三分量。曝光處理效果:基于照片技術。例如,三分量值為(60,210,135)的像素,只是紅色被逆轉,經過轉換后為(195,210,135)而對于數值(50,100,70)均小于128,所以都需逆轉,得到(205,155,185)。g(i,j)=255-f(i,j)如果f(i,j)<128曝光處理效果圖1)取得圖像的數據區指針,得到像素三個分值;2)對這三個值分別進行判斷,若大于128,則保持不變,否則逆轉;3)再把三個新值返回給藍、綠、紅三個指針變量;4)顯示圖像。實現步驟2.3.3彩色圖像的擴散處理擴散處理:不是基于像素的和或差,而是用rand()函數在圖像中引入一些隨機性,使圖像如油畫一般。方法:從當前像素周圍5×5相鄰的像素中隨機性的任意選擇一個值作為當前像素的值。效果圖1)在開辟一個臨時緩沖區;2)取得圖像的數據區指針,產生行、列的隨機數。3)根據隨機數得到以當前點為中心的對應的點4)把這點的藍、綠、紅的對應值賦給當前點對應的臨時緩沖區中。實現步驟2.3.4彩色圖像馬賽克處理原理:將圖像從形式上劃分為很多小塊,在每塊內的各個像素都取到相同的紅、綠、藍顏色值,從而對某些細節進行模糊化處理,使圖像粗糙化。馬賽克處理后,圖像每一小塊矩陣內的所有像素值都取該矩陣內各像素值之和的平均值。1)開辟一個臨時緩沖區;2)取得圖像的數據區指針,把數據區劃分成許多5╳5的矩陣;3)對每個矩陣內的像素的藍、綠、紅三分量進行求總再平均;4)把得到的平均值賦給當前對應的臨時緩沖區中5╳5矩陣內的所有像素點。實現步驟第2章彩色圖像處理2.4彩色圖像的平滑處理2.5彩色圖像的銳化處理(第3講)2.4彩色圖像的平滑處理本節介紹兩種彩色圖像的平滑處理技術:

鄰域平均法;

線性平滑濾波。2.4.1鄰域平均法每一個像素都由其相鄰的n×n個的平均值代替,減少相鄰像素間的顏色差別,柔化效果。例如,一般選用3×3的點矩陣,每個像素用其周圍的8個像素及其本身像素之和的平均值來代替。注意,邊界像素。1)在開辟緩沖區;2)取得圖像的數據區指針,得到當前點及周圍8個點的三個對應值;3)將三個分量分別求和,再平均;4)把得到像素的三個新分值分別存入對應臨時緩沖區中。實現步驟效果圖2.5彩色圖像的銳化處理

銳化處理方法在第六章介紹,本節主要介紹彩色圖像的銳化處理技術,包括:

圖像水平增強;

圖像垂直增強;

圖像雙向增強;

梯度銳化;

高通濾波器;

彩色圖像的浮雕處理;

彩色圖像的霓紅處理。2.5.1圖像水平增強增強圖像水平方向也是一種高通濾波。h[1][3]=(1)取得圖像文件的拷貝文件;(2)開辟緩沖區;(3)取得圖像的數據區指針,得到當前點及左右鄰點的三個分量值。(4)再把這3個點的三分量分別與對應的矩陣計算;(5)新值存入緩沖區。實現步驟效果圖2.5.2圖像垂直增強增強圖像垂直方向也是一種高通濾波。:h[3][1]=(1)取得圖像文件的拷貝文件;(2)開辟緩沖區;(3)取得圖像的數據區指針,得到當前點及上下鄰點的三個分量值。(4)再把這3個點的三分量分別與對應的矩陣計算;(5)新值存入緩沖區中。實現步驟效果圖2.5.3圖像雙向增強增強圖像水平方向也是一種高通濾波。h[3][3]=(1)取得圖像文件的拷貝文件;(2)開辟緩沖區;(3)取得圖像的數據區指針,得到當前點及周圍8鄰點的三個分量值。(4)再把這8個點的三分量分別與對應的矩陣計算;(5)新值存入緩沖區中。實現步驟效果圖效果圖2.5.4梯度銳化與柔化處理相反,突出圖像的變化,模糊圖像變得更加清晰。采用的算法:將要處理的像素與它左對角線的像素之間的差,乘上一個銳化度數,然后再加上原先的像素值。Red=R+(R-r)/4;Blue=B+(B-b)/4;Green=G+(G-g)/4;R、G、B為當前原像素f(i,j)的三個分量值;r、g、b為前一個相鄰像素f(i-1,j-1)的三個分量值。注意:要檢驗結果的有效性。(1)取得圖像文件的拷貝文件;(2)開辟緩沖區;(3)取得圖像數據區指針,得到當前像素點及同行左上鄰點對應的三個分量。(4)對原點與左上鄰點的分量值分別進行差運算,并加上原點的值;(5)新值存入緩沖區中。實現步驟效果圖2.5.5高通濾波器

高通濾波是對圖像的低頻分量進行抑制,從而讓圖像的高頻分量通過的濾波器。基本高通

中等高通

過量高通效果圖基本高通

過量高通2.5.6彩色圖像的浮雕處理浮雕效果:將變化部分突出,相同顏色部分則被淡化,使圖像出現縱深感,從而達到浮雕效果。算法:當前像素取值為與前一個像素的差值。顏色變化區才會出現色彩,顏色平淡區因差值幾乎為零,變成黑色,加上一個常量增加亮度。G(i,j)=f(i,j)-f(i-1,j)+常量常量通常取值為128,即Red=R-r+128;Blue=B-b+128;Green=G-g+128;浮雕處理(1)取得圖像文件的拷貝文件;(2)開辟緩沖區;(3)取得圖像的數據區指針,得到當前像素點及同行左鄰點對應的分量值。(4)對原點與左鄰點的分量值分別進行差運算,并加上一個常量;(5)新值存入緩沖區中。實現步驟效果圖2.5.7彩色圖像的霓紅處理先計算原圖像當前像素f(i,j)的分量與其相鄰像素f(i+1,j)及f(i,j+1)的梯度,即差的平方之和的平方根,然后將梯度值作為處理后像素的三個分量。r1、g1、b1分別為原圖像像素f(i,j)分量值。r2、g2、b2分別為原圖像同行相鄰像素f(i+1,j)的分量值。r3、g3、b3分別為原圖像同列相鄰像素f(i,j+1)的分量值。(1)取得圖像文件的拷貝文件;(2)開辟緩沖區;(3)取得圖像的數據區指針,得到當前像素點及同行右鄰點和同列下鄰點對應的三個分量值。(4)對兩個鄰點的分量值分別與原點進行梯度運算,即差的平方之和的平方根;(5)新值存入緩沖區中。實現步驟效果圖作者楊淑瑩敬上謝謝!作者楊淑瑩敬上謝謝!第3章圖像的合成處理目錄3.1圖像的代數運算3.1.1圖像加運算3.1.2圖像減運算3.2圖像邏輯運算3.1圖像的代數運算理論基礎代數運算是指對兩幅輸入圖像進行點對點的加、減、乘、除計算而得到輸出圖像的運算。加運算C(x,y)=A(x,y)+B(x,y)減運算C(x,y)=A(x,y)-B(x,y)乘運算

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論