版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度项目进度对赌协议3篇
- 生猪栏位设计与建设技术转让协议04
- 2024年度东莞城市亮化工程项目合同2篇
- 药品购销合同模板完整版
- 2024年度店面物业:租赁合同与物业服务协议2篇
- 铝合金门窗材料购销合同范本 2篇
- 2024年版豪华住宅区公寓销售协议3篇
- 2024年度环境监理工程师服务合同3篇
- 开展青年员工培训提升
- 人教版九年级化学第二单元我们周围的空气2氧气课时1氧气的性质教学教学课件
- 《我的白鸽》课件
- 国开2024年《中国法律史》平时作业1-3答案
- 大学生职业规划大赛成长赛道参赛作品
- GB 17790-2008家用和类似用途空调器安装规范
- 五年级上册数学课件 -《平行四边形的面积》 人教版(共15张PPT)
- PSPC作业指导书用书
- 安培环路定理及应用PPT课件
- TS3000在航天炉煤化工中应用
- 关于公司办公用房超标的情况报告
- 生产车间环境管理制度
- 120个文言实词小故事全文翻译
评论
0/150
提交评论