版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人
/
工
/
智
/
能
/
技
/
术
/
应
/
用OpenCV图像处理技术项目一数字图像处理基础(一)考核过程性考核占60%终结性考核占40%课上课后作业(40%)课堂表现(10%)考勤(10%)综合考核40%未按时交或缺交扣10分/次满分100分,表现突出加3-5分/次迟到或早退扣10分/次旷课20分/次O
p
e
n
C
V课前任务思考与查找:前面已经学习了《人工智能基础》、
《Python
程序设计》,学图像处理
技术有什么用?O
p
e
n
C
V获取图像轮廓图像融合
图像对比度均衡提取图像轮廓图像分割
霍夫变换模板匹配特定目标分析检测直线、圆形等几何图形重复图案检测视频处理口罩佩戴检测等O
p
e
n
CV数字图像处理技术形态学处理去除文章标注边缘检测基础概愈特定颜色检测平滑处理去除噪声图像金字塔色彩空间单寸照换背景几何变换图片放大缩小图像轮廊图像运算面部打码阈值处理提取关键区域直方图处理数字图像处理基本知识点图像处理工程师(莱斯信息)南京菜斯信息技术段份有限公司8000-12000元月血投五险-南素【本科13-5年4天发布于猫聘图像处理算法工程师广州制给信息科技有限公司6001-8000
元/月南宁(本科11-3年作天发布于指础人才网图像处理北京系新环保有限公司面议西中(中专|不限的天发布于环保莫才视频图像处理算法工程师(上海哔哩哔哩科.上W
理科接有限公司20000-40000元月上霉!本科13-5年(E险-盒交)
a)4天发布于拉勾网图像处理工程师(深圳显扬科技有限公司)探圳思肠科技有限公司8000-12000元月(直投深明(本科1不限五
除
-今天发布于借聘图像处理机器视觉软件工程师(深圳市华腾…探圳市华腾半导体设备有限公司12000-20000元月(直段)探圳本科13-5年五
除
-
鱼4天发布于留聘图像处理及调优工程师广东亿嘉和科技有限公司20000-40000元月(伊探拥|本科13-5年五险一金用年假B
日利02-24发布于智通人才网FPGA
图像处理工程师探圳市玩视科技有限公司16000
-32000
元/月成都!本科以上I1-3年昨天发布于中国人才热线图像处理算法工程师(厦门美柚股份有限公…
20000-40000元月
保五险一金需游年假年能项医学图像处理工程师(南京景三医疗科技有
.20000-40000元
月
(交通补贴)年将分红)(墙效奖金)南原暖三医疗科技有限公司
上海本科13-5年4天发布于位勾网
薪酬待遇厦门美植股份有限公司厘门1本科|不限4天发布于位勾网0
p
e
n
C
V能力要求1.有图像处理、机器学习相关的学习和研究经历,具有较好的数学和算法基础;2.熟悉Python、C/C++、Java
等语言,熟练使用OpenCV等视觉库,掌握图像处理
的接口函数、深入了解OpenCV
部分源码;3.熟悉Ubuntu
、redhat
等系统下深度学习环境搭建及yolo
、caffe-ssd
、caffe-
faster-rcnn等深度学习模型训练,并能进行调优;4
.强大的学习能力,能快速掌握新技术并理解其运用场景;5.根据业务需求,设计并实现新的算法。O
p
e
n
C
V○
图像处理技术O
p
e
n
C
V眼之所见即为所求○图像处理技术O
p
e
n
CV层层深入,化繁为简手掌
二值化
凸包特征点感兴趣区域自适应阈值>数字图像处理技术图像处理技术人工智能分析○O
p
e
n
CV○
图像处理技术沉渣细胞分析
肋骨三维重建图像处理腹部CT
股骨与血管O
p
e
n
C
V图像获取、显示以及相关信息获取图像像素访问与修改重难点O
p
e
n
CV01数字图像02
OpenCV03
图像读取、显示、保存04
图像像素处理目录CONTENTSO
p
e
n
C
V01数字图像人
/
工
/
智
/
能
/
技
/
术
/
应
/
用D
A1
知识储备:数字图像图
客观世界物体反射或透射光的分布,是客观世界的反映像人类视觉系统对图的响应,是人的大脑的印象或认识,是人的感觉的一种The
Dog'sView透过现象观察本质700600
500400Wavelength(nm)TheHuman'sViewO
p
e
n
CV1知识储备:数字图像O
p
e
n
CV数字图像由二维的元素组成每个元素包含一个坐标以及响应值知识储备:数字图像1O
p
e
n
C
V数字图像处理针对特定任务提升图像的可理解性知识储备:数字图像1O
p
e
n
C
V1知识储备:数字图像图像处理
图像分析
图像理解O
p
e
n
C
V1知识储备:数字图像喵汪汪喵
汪喵O
p
e
n
C
V1知识储备:数字图像(205,89,68)122173
255129
115184
5118
248174
41125
198[202196
92
109|100126179
58125
41686718524237551956220823211086
20646
5241
16460
1499
4523135421715134151144Lena564019422O
p
e
n
C
V24518002
OpenCVP
A
人
/
工
/
智
/
能
/
技
/
术
/
应
/
用研究员Gary
Bradski在为英特尔时注意到MIT
的媒体实验室,拥有非常完备的内部公开的
计算机视觉开发接口——代码从一个学生传到另
一个学生手中,并且会给每个新来的学生一个有
价值的由他们自己开发的视觉应用方案。知识储备:OpenCV2起源O
p
e
n
C
V●为高级的视觉研究提供开源并且优化过的基础代码,不再
需要重复造轮子。●以提供开发者可以在此基础上进行开发的通用接口为手段
传播视觉相关知识,这样代码有更强的可读性和移植性。●以创造可移植的、优化过的免费开源代码来推动基于高级
视觉的商业应用,这些代码可以自由使用,不要求商业应用程序开放或免费。知识储备:OpenCV2目标O
p
e
n
C
V善假于物,胜于闭门造车知识储备:OpenCV2O
p
e
n
C
V超分辨图像拼接异构与并行计算机器学习对象检测维可视化深度神经网络分割与正配ImageprocessingCoreImgcodecsHigh-levelGUIVideoI/O2
知识储备:OpenCV扩展模块2D
特
征
提
取相机矫正与三维重建视频分析O
p
e
n
C
VPython+Anaconda+PyCharm的安装和基本使用:/video/BV1K7411c7EL?p=3OpenCV的安装方法:pipinstallopencv-python==6pipinstallopencv-contrib-python==0知识储备:OpenCV2O
p
e
n
C
V03图像读取、显示、保存T
H
R
E
日人
/
工
/
智
/
能
/
技
/
术
/
应
/
用3
图像读取、显示、保存
图像读取cv2.imread('cat.jpg')
图像显示
cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE)cv2.imread('cat.jpg',cv2.IMREAD_COLOR)
图像保存O
p
e
n
C
V3
图像读取、显示、保存
图像读取cv2.imshow(name,img)
图像显示
cv2.waitKey(0)cv2.destroyAIIWindows()
图像保存O
p
e
n
C
V3
图像读取、显示、保存
图像读取
图像显示
cv2.imwrite('mycat2.png',img)
图像保存O
p
e
n
C
V图像读取任务小结:imread()读取不同类型图像图像显示imshow()显示窗口与关闭imwrite()
保存图像图像保存3图像读取、显示、保存O
p
e
n
C
V
图像读取
图像显示
图像保存任务实施:根据任务书完成图像读取、显示、保存3
图像读取、显示、保存O
p
e
n
C
V04图像像素处理P
A人
/
工
/
智
/
能
/
技
/
术
/
应
/
用数字图像由二维的元素组成每个元素包含一个坐标以及响应值修改每个坐标对应的响应值,即可
修改整体的图像像素分布见微知著,以小见大知识储备:图像像素值修改的意义1O
p
e
n
C
Vimportcv2img=cv2.imread('dcz.jpg')#读取图片
###学会模块化编程,此处用于填写处理代码###cv2.imshow('dcz',img)#显示图片cv2.waitKey(0)cv2.destroyAIIWindows()读取与显示获取图像形状循环遍历1
任务一:获取图像中的单个像素O
p
e
n
C
Vimportcv2img=cv2.imread('dcz.jpg')#读取图片###h,w,C=img.shape#获取图像的长和宽及通道数目###cv2.imshow('dcz',img)#显示图片cv2.waitKey(0)cv2.destroyAIIWindows()读取与显示获取图像形状循环遍历1
任务一:获取图像中的单个像素O
p
e
n
C
Vimportcv2img=Cv2.imread('dcz.jpg')#读取图片###h,w,c=img.shapefor
i
inrange(0,h):#根据长宽通道数进行遍历
forjin
range(0,w):fork
in
range(0,c):print(img[i,j,k])#输出每个像素对应的像素值###cv2.imshow('dcz',img)#显示图片cv2.waitKey(0)cv2.destroyAlIWindows()读取与显示获取图像形状循环遍历1
任务一:获取图像中的单个像素O
p
e
n
C
V1
练习:修改像素点的值像素访问将每个像素的像素值加10像素修改O
p
e
n
C
V8位图像的像素值分布在[0-255]之间,有时候为了突出显示关键信息,需要对像
素值进行筛选,比方说提取[80-150]区间
内的像素值。抓住关键,解决问题知识储备:提取关键信息2O
p
e
n
C
V分析数据编写程序优化程序眼镜大致在高350至520,宽220至670,区域根据的位置信息,
编程如下。任务二:获取dczjpg
中眼镜部分2)O
p
e
n
C
Vimport
cv2src=Cv2.imread('.\sucai1\dcz.jpg')glasses=src[350:520,220:670]#将眼镜RO1
赋值给变量glassescv2.imshow("glasses",glasses)cv2.waitKey(0)cv2.destroyAlIWindows()运行结果如图1.32所示。分析数据编写程序优化程序2
任务二:获取dczjpg
中眼镜部分O
p
e
n
C
Vimport
cv2import
numpy
as
npmask=np.random.randint(0,255,(100,200,3),dtype
=np.uint8)11I0,255:表示生成的像素值区间为0-255(100,200,3):表示长为100,宽为200,通道
数为3,dtype=np.uint8:表示生成的图像为8位图像1cv2.imshow("mask",mask)cv2.waitKey(0)cv2.destroyAlIWindows()分析数据编写程序优化程序2
任务二:获取dczjpg
中眼镜部分O
p
e
n
C
V分析数据编写程序优化程序任务二:获取dczjpg
中眼镜部分练习:根据上述马赛克生成方法,将dcz.jpg眼睛部分进行马赛克处理。结2果如图所示。O
p
e
n
C
V人
/
工
/
智
/
能
/
技
/
术
/
应
/
用OpenCV图像处理技术项目二
图像运算(一)课前任务将“LinuxLogo.jpg”与(“WindowsLogo.jpg”相加,查看结果,对比
前后像素变化并举例解释:img1=cv2.imread("LinuxLogojpg")img2=cv2.imread("WindowsLogo.jpg")img3=img1+img2cv2.imshow("add",img3)O
p
e
n
C
V01
算术运算
图像淡入淡出效果目录CONTENTSO
p
e
n
C
V加权运算,加乘运算代码实现图像淡入淡出效果重难点O
p
e
n
C
Vimg1算术运算img2逻辑运算MASK“大小一致”O
p
e
n
C
V0000000110011100110000000知识储备:图像运算562821213122823281675858167213123561671232131675624213121021352428242856123562101451635816712321324238320838187562823281201算术运算P
A人
/
工
/
智
/
能
/
技
/
术
/
应
/
用加
减
乘
除学会观察,提炼原理O
p
e
n
C
V1知识储备:算术运算1知识储备:算术运算十
cv2.add
()img1×
“+”对比分析学会总结5628-232812·b≤255
b>25512356210145163238320838187242131210213558167123213242428242856img2O
p
e
n
C
V?cv2.add()cv2.subtract()1知识储备:算术运算O
p
e
n
C
Vcv2.add()cv2.subtract()
cv2.divide()知识储备:算术运算1O
p
e
n
C
Vcv2.add()cv2.subtract()
cv2.divide()
cv2.multiply()知识储备:算术运算1O
p
e
n
C
V加权和cv22.addWeighted
(src1,alpha,src2,beta,gamma)O
p
e
n
C
V加
减乘除addsubtractdividemultiply知识储备:数字图像102图像淡入淡出效果人
/
工
/
智
/
能
/
技
/
术
/
应
/
用defcontrast_brightness_demo(image,c,b):h,w,ch
=image.shapeblank
=np.zeros([h,w,ch],image.dtype)dst=cv2.addWeighted(image,c,blank,1-c,b)cv2.imshow("con-bri-demo",dst)知识储备:cv2.addWeighted()实战操作任务
一:
实现PS
·图像调整20
p
e
n
C
V2任务—:实现PS·图像调整任务一:拓展练习使用addWeighted()函数,实现两幅照片“淡化效果”切换。举一反三,巩固新知O
p
e
n
C
V人
/
工
/
智
/
能
/
技
/
术
/
应
/
用OpenCV图像处理技术项目二
图像运算(二)图像像素值的本质是0与1,请问251的二进制值是多少如:255=(11111111)B255/2=127=====余1127/2=63======余163/2=31=======余131/2=15=======余115/2=7========余17/2=3=========余13/2=1=========余11/2=0=========余1课前导入O
p
e
n
CV
逻辑运算
隐藏的秘密:数字水印目录CONTENTSO
p
e
n
C
V重难点逻辑运算图像加密O
p
e
n
C
V01逻辑运算人
/
工
/
智
/
能
/
技
/
术
/
应
/
用1知识储备:逻辑运算与或
异或
取反类比学习,做好假设O
p
e
n
C
V算子1算子2与
·
结果与
·
规则或
·
结果或
·
规则000and(0,0)=00and(0,0)=0010and(0,1)=01and(0,1)=1100and(1,0)=01and(1,0)=1111and(1,1)=11and(1,1)=1知识储备:逻辑运算异或取反与或1O
p
e
n
C
V算子1算子2与
·
结果与
·
规则或
·
结果或
·
规则000and(0,0)=00and(0,0)=0010and(0,1)=01and(0,1)=1100and(1,0)=01and(1,0)=1111and(1,1)=11and(1,1)=1数值十进制值二进制值数值119811000110数值221911011011按位或运算结果22311011111按位与运算结果19411000010知识储备:逻辑运算异或取反与或1O
p
e
n
C
Vbitwise_and()bitwise_or()1知识储备:逻辑运算异或取反与
或O
p
e
n
C
V数值十进制值二进制值数值119811000110数值221911011011按位异或运算结果2900011101取反
bitwise_xor()1知识储备:逻辑运算与
或异或O
p
e
n
C
V说明十进制值二进制值原始数值19811000110按位非运算结果5700111001取反
bitwise_not()1知识储备:逻辑运算与
或异或O
p
e
n
C
V1知识储备:逻辑运算与
bitwise_and()或
bitwise_or()异或
bitwise_xor()取反
bitwise_not()O
p
e
n
C
V101011001010100000111000XOR0001011001011001001010000001101100110000011101114024164142971108321313217715615256702699162100001001011000110011100100110000011100001000110000110100110.001110100010172168562289402748119001010000001100010100100100011100110000101101110000000010101001111010101图像A
的二进制表示为AB,其像素值为:图像K
的二进制表示为KB,其像素值为:接下来实现图像AB
和图像KB的按位异或运算得到AKB:
图像AKB转换为十进制图像AK:假设有需要加密的原始图像A,
其像素值为:加密密钥图像为K,其像素值为:知识储备:图像加密https://tool.lu/hexconvert/1O
p
e
n
C
V40241641429711083213172168562289402748119101011001010100000111000000101100101100100101000000110110011000001110111可以发现,x
图像和原来的图像A
完全一致。该过程详细解释了8位图像的加密和解密过程。在实际应
用中,收发双方应该事先的规定好密钥图像,发送方利用密钥图像将图片加密,将密文发给接收方,
然后接收方接到密文,然后用密钥进行解密,最终得到原始图像。可以看出将A图像加密后的图像AK已经发生了本质的变换,下面将AKB图像继续和密钥图像KB进行按
位异或运算,得到图像XB:观察本质透过现象知识储备:图像加密1图
像AKB转换为十进制图像AK:将图像XB转换为十进制图像X:O
p
e
n
C
V人
/
工
/
智
/
能
/
技
/
术
/
应
/
用OpenCV图像处理技术项目三色彩空间与几何变换(一)阅读教材54页及自行搜索,了解RGB、GRAY、HSV、RGBA颜
色空间的概念红紫
橙
黑蓝
绿课前任务O
p
e
n
C
V01
色彩空间02实现颜色提取:提取指定颜色物体目录CONTENTSO
p
e
n
C
V提取特定颜色的物体,实现图像的几何矫正色彩空间的相互转换,几何变换的应用重难点O
p
e
n
C
V01色彩空间P
A人
/
工
/
智
/
能
/
技
/
术
/
应
/
用1)
任务—:图像类型转换任务一
图像类型转换使用cvtColor()函数,实现各种颜色空间的转换。O
p
e
n
C
V(0,0,0)~(255,255,255)表示。RGB
空间是生活中最常用的一个
模型,电视机、电脑的显示器等大部分
都是采用这种模型。自然界中的任何一
种颜色都可以由红、绿、蓝三种色光混
合而成。RGB颜色空间以R(Red:红)、G(Green:绿)、B(Blue:蓝)三种基本色为基础,进行不同程度的叠加,产生丰富而广泛的颜色,所以俗称三基色模式。通常的用知识储备:RGB色彩空间1O
p
e
n
C
V灰度化顾名思义就是将图片变为灰色,在OpenCV
中可以用cvtColor函数将图像进行灰度化,但这里并不使用该函数,而是采用计算公式:Y=0.2126*R+0.7152*G+0.0722*B,RGB
分别为彩色图像的三通道GRAY颜色空间(灰度图像)通常指8位灰度图,具有256个灰度级,像素值的范围为[0,255]。所谓灰度色,就是指纯白、纯黑以及两者中的一系列从黑到白的过渡色。知识储备:GRAY色彩空间1O
p
e
n
C
V1
知识储备:HSV
色彩空间HSV(Hue,Saturation,Value)是根据颜色的直观特性创建的一种颜色空间,也称六角
锥体模型。这个模型中颜色的参数分别是:色调(H),
饱
和
度(S),
明
度(V)。色调:不同波长的光表现为不同的颜色,[0,360]。饱和度:表示颜色接近光谱色的程度,[0,1]。亮度:人眼感受到的光的明暗程度,[0,100]。色调10O
p
e
n
C
V1饱和度亮度BGR与RGBBGR与灰度
BGR与HSVO
p
e
n
C
V知识储备:类型转换函数1dst=cv2.cvtColor(src,cv2.COLOR
BGR2RGB)dst=cv2.cvtColor(src,cv2.COLOR
RGB2BGR)BGR与RGBBGR
与灰度BGR与HSV1知识储备:类型转换函数O
p
e
n
C
Vdst=cv2.cvtColor(src,cv2.COLOR
BGR2GRAY)dst=cv2.cvtColor(src,cv2.COLOR
GRAY2BGR)BGR与RGBBGR
与灰度BGR与HSV1知识储备:类型转换函数O
p
e
n
C
Vdst=cv2.cvtColor(src,cv2.COLOR
BGR2HSV)dst=cv2.cvtColor(src,cv2.COLOR
HSV2BGR)BGR与RGBBGR
与灰度BGR与HSV1知识储备:类型转换函数O
p
e
n
C
V实现颜色提取:提取指定颜色物体人
/
工
/智
/
能
/
技
/
术
/
应
/
用02黑灰白红橙黄绿青蓝紫hmin000015611263578100125hmax180180180101802534;7799124155smin00043434343434343smax2554330255255255255255255255vmin04622146464646464646vmax46220255255255255255255255255知识储备:HSV
颜色表H:0—180S:0—255V:0—255此处把部分红色归为紫色范围:任务二:提取指定颜色20
p
e
n
C
V2任务二:提取指定颜色知识储备:cv2.inRange()
函数详解语
法
:dst=cv2.inRange(src,lowerb,upperb),lowerb为范围下界,upperb
为范围上界作用:判断图像内的像素点的像素值是否在指定的范围内O
p
e
n
C
V课前任务预习几何变换的概念O
p
e
n
C
V人
/
工
/
智
/
能
/
技
/
术
/
应
/
用OpenCV图像处理技术项目三色彩空间与几何变换(二)阅读教材及自行搜索,了解图像几何变换的概念课前任务O
p
e
n
C
V01
几何变换
实现图像的几何变换目录CONTENTSO
p
e
n
C
V实现图像的几何矫正重难点几何变换的应用O
p
e
n
C
V01几何变换P
A人
/
工
/
智
/
能
/
技
/
术
/
应
/
用1)任务三:简单的几何变换几何变换是指将一幅图像映射到另外一幅图像内的操作。
本任务主要介绍的映射关系划分为缩放、翻转、仿射、透视、重映射
等。O
p
e
n
C
Vsrc:
原图dsize:
输出图像的大小fx:水平方向的缩放比例fy:
垂直方向的缩放比例interpolation:
插值方法cv2.resize(src,dsize[,fx[,fy[,interpolation]]])缩放翻转仿射透视知识储备:简单的几何变换1O
p
e
n
C
Vsrc:
原图flipCode:旋转类型(实验)缩放翻转仿射透视cv2.flip(src,flipCode)知识储备:简单的几何变换1O
p
e
n
C
V指图像可以通过一系列的几何变换来实现平移、旋转等
多种操作。cv2.warpAffine()10x=10001y=200缩放翻转仿射透视知识储备:简单的几何变换1O
p
e
n
C
Vcv2.warpAffine(src,M,dsize)src:原图M:
表示变换矩阵,反映平移或翻转的关系,为一
个2×3的矩阵dsize:输出图像的画布大小缩放翻转仿射透视1
知识储备:简单的几何变换0
p
e
n
C
V0------?M
构造方法--平移向右侧移动x个像素,向下侧移动y个像素M=np.float32([[1,0,x],[0,1,y]])缩放翻转。仿射透视知识储备:简单的几何变换10
p
e
n
C
VM构造方法--旋转M=cv2.getRotationMatrix2D(center,angle,scale)center
:表示旋转中心。angle:
表示旋转角度,正数表示逆时针旋转,负数
表示顺时针旋转。scale:表示变换尺度,即缩放大小。缩放翻转仿射透视1
知识储备:简单的几何变换O
p
e
n
C
V1知识储备:简单的几何变换缩放将矩形映射为任意四边形cv2.warpPerspective()翻转仿射透视O
p
e
n
C
V决递哥o---lli?将矩形映射为任意四边形cv2.warpPerspective(src,M,dsize)src:
表示原始输入图像。M:
表示变换矩阵,为一个3×3的矩阵。dsize:
表示输出图像的大小。缩放翻转仿射透视1
知识储备:简单的几何变换O
p
e
n
C
V核心还是构造转换矩阵MM=cv2.getPerspectiveTransform(pts_o,pts_d)pts
o:表示输出图像的4个顶点坐标。pts_d:表示原始输入图像的4个顶点坐标。缩放翻转仿射透视1
知识储备:简单的几何变换O
p
e
n
C
Vpts_o=np.float32([[x1,y1],[x2,y2],[x3,y3],[x4,y4]
])pts_d=np.float32([[0,0],[w,0],[0,h],[w,h]])O
p
e
n
C
V(0,h)
(w,h)知识储备:简单的几何变换(0,0)
(w,O)1作业将lenajpg
转换为灰度图像,应用缩放、翻转
、平移、旋转、透视等相关知识进行实验,并
撰写实验报告O
p
e
n
C
V人
/
工
/
智
/
能
/
技
/
术
/
应
/
用OpenCV图像处理技术项目四阈值与平滑处理(一)课前任务如何用像素级操作,将peppa.jpg
中像素值小于180的设置为黑色,大于等
于180的的像素值设置为白色。图像处理的本质就是像素处理O
p
e
n
C
V01
阈值处理
使用滑块调整阈值大小目录CONTENTSO
p
e
n
C
V阈值选定与处理、模糊处理重难点卷积概念O
p
e
n
C
V01阈值处理人
/
工
/
智
/
能
/
技
/
术
/
应
/
用定
义
:指剔除图像内像素值高于一定值或者低于一定值的像素点例如,设定阈值为127,然后:将图像内所有像素值大于127的像素点的值设为255。将图像内所有像素值小于或等于127的像素点的值设为0。一幅图像包括目标物体、背景还有噪声要想从多值的数字图像中提取目标物体知识储备:阈值处理1O
p
e
n
CV定义:指剔除图像内像素值高于一定值或者低于一定值的像素点例如,设定阈值为127,然后:将图像内所有像素值大于127的像素点的值设为255。将图像内所有像素值小于或等于127的像素点的值设为0。知识储备:阈值处理1O
p
e
n
C
V1知识储备:阈值处理OpenCV
提供了函数cv2.threshold()
和函数cv2.adaptiveThreshold(),
用于实现阈值处理。cv2.threshold()cv2.adaptiveThreshold()O
p
e
n
C
Vcv2.THRESH_BINARYdst(es)={0,其他情况cv2.THRESH_BINARY_INVdst(w)={src
)
eshev2.THRESH_TRUNCsrc(x,y)>thresh其他情况ev2.THRESH_TOZERO_INVsre(x,y)>thresh其他情况ev2.THRESH_10ZEROdstky)=[src(xysrc(xy)>thresh他情况ev2.THRESH_MASK掩码cv2.THRESH_OTSUev2.THRESH
TRIANGLE标记,使用Otsu算法时的可选网值参数
称记,使用Trangle算法时的可选阀值参数情况>thr其他(xycv2.threshold()cv2.adaptiveThreshold()retval,dst=cv2.threshold(src,thresh,maxval,type)知识储备:阈值处理1O
p
e
n
C
Vcv2.THRESH_BINARYcv2.THRESH_BINARY_INVcv2.THRESH_TRUNCcv2.THRESH_TOZERO_INVcv2.THRESH_TOZEROcv2.threshold()cv2.adaptiveThreshold()二值化反二值化截断超阈值零处理
低阈值零处理retval,dst=cv2.threshold(src,thresh,maxval,type)1知识储备:阈值处理O
p
e
n
C
Vcv2.threshold()cv2.adaptiveThreshold()cv2.THRESH_BINARYcv2.THRESH_BINARY_INVcv2.THRESH_TRUNCcv2.THRESH_TOZERO_INVcv2.THRESH_TOZEROBINARY_INVTOZERO_INVretval,dst=cv2.threshold(src,thresh,maxval,type)1知识储备:阈值处理Original
imageO
p
e
n
CVTOZEROBINARYTRUNCcv2.threshold()cv2.adaptiveThreshold()自适应阈值处理
保留了更多的细节信息1知识储备:阈值处理8352223O
p
e
n
C
V2自适应阈值处理定义:使用变化的阈值完成对图像的阈值处理。操
作
:通过计算每个像素点周围临近区域的加权平均值获得阈值,并使用该阈值对
当前像素点进行处理。目
的
:保留了更多的细节信息cv2.threshold()cv2.adaptiveThreshold()知识储备:阈值处理1O
p
e
n
C
Vdst=cv2.adaptiveThreshold(src,maxValue,adaptiveMethod,thresholdType,blockSize,C)●
maxValue代表最大值。●adaptiveMethod代表自适应方法。●thresholdType代表阈值处理方式,该值必须是cv2.THRESH_BINARY或者cv2.THRESH_BINARY_INV
中的一个。●
blockSize代表块大小。表示一个像素在计算其阈值时所使用的邻域尺寸,通常为3、5、7等。●
C是常量。cv2.threshold()cv2.adaptiveThreshold()知识储备:阈值处理1O
p
e
n
C
VP1P3邻
域P4P7P5P8P6P9O
p
e
n
C
VP21知识储备:阈值处理cv2.threshold()cv2.adaptiveThreshold()cv2.THRESH_BINARYcv2.THRESH_BINARY_INVcv2.THRESH_TRUNCcv2.THRESH_TOZERO_INVev2.THRESH_TOZEROcv2.THRESH_MASKev2.THRESH_OTSUcy2THRESH
TRIANGLE给定初始阈值计算机自己找给定阈值O
p
e
n
CVOtsu大津定义:根据当前图像给出最佳的类间分割阈值。操作:遍历所有可能阈值,从而找到最佳的阈值。t,otsu=cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)O
p
e
n
C
Vcv2.threshold()cv2.adaptiveThreshold()知识储备:阈值处理102使用滑块调整阈值大小人
/
工
/
智
/
能
/
技
/
术
/
应
/
用2
函数实操与彩色图像cv2.threshold()
cv2.adaptiveThreshold()I
Task1函数实操cv2.Threshold()cv2.adaptiveThreshold()cv2.Threshold(Otsu)O
p
e
n
C
V|用滚动条控制阈值处理参数知识储备1:回调函数用于将滑动条的数值处理并响应cv2.threshold()cv2.adaptiveThreshold()函数实操与彩色图像2O
p
e
n
C
V|用滚动条控制阈值处理参数知识储备2:cv2.createTrackbar(“name”,“winname”,“default”,"max”,callback)Data=Cv2.getTrackbarPos(”name”,“winname”)O
p
e
n
C
Vcv2.threshold()cv2.adaptiveThreshold()2
函数实操与彩色图像人
/
工
/
智
/
能
/
技
/
术
/
应
/
用OpenCV图像处理技术项目四阈值与平滑处理(二)课前任务如何对有很多噪声的
图片进行画质改善?/product/imageprocess/image_definition_enhanceO
p
e
n
C
V01
平滑处理
使用滑块调整平滑效果目录CONTENTSO
p
e
n
C
V重难点模糊处理卷积概念O
p
e
n
C
V01平滑处理P
A人
/
工
/
智
/
能
/
技
/
术
/
应
/
用1知识储备:平滑处理卷积:基本原理:将噪声所在像素点的像素值处理为其周围临近像素点的值的近似值。均值滤波方框滤波高斯滤波中值滤波双边滤波2D
卷积(自定义滤波)去除图像
内部噪声目标O
p
e
n
C
V1
知识储备:平滑处理卷积:将噪声所在像素点的像素值处理为其周围临近像素点的值的近似值。a,b
的下标相加都为1,1C1,1=ao,ob₁,1O
p
e
n
C
V均值滤波
方框滤波
高斯滤波中值滤波
双边滤波
2D卷积1知识储备:平滑处理0
p
e
n
CV1
知识储备:平滑处理均值滤波
定义:是指用当前像素点周围N*N个像素值的均值来代替当前像素值。P1P2P3P4P5P6P7P8P9方框滤波高斯滤波中值滤波双边滤波2D卷积均值卷积核×P5=(P1+P2+……+P9)/(3×3)O
p
e
n
C
V函数形式:dst=cv2.blur(src,ksize,anchor,borderType)ksize:滤波核的大小。滤波核大小是指在均值处理过程中,其邻域图像的高度和宽度。
anchor:
锚点,其默认值是(-1,-1),表示当前计算均值的点位于核的中心点位置。
borderType:
边界样式,该值决定了以何种方式处理边界。通常情况下,使用均值滤波函数时,对于锚点anchor和边界样式borderType,
直接采用其默认
值即可。因此,函数cv2.blur()的一般形式为:dst=cv2.blur
(src,ksize,)。缺点在于它不能很好地保护图像细节,在图像去噪的同时
也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积1知识储备:平滑处理O
p
e
n
C
V定义:自由选择是否对均值滤波的结果进行归一化,即可以自由选择滤波结果是邻域像素值之和的平均值,还是邻域像素值之和。方框滤波的权重系数模板,a={1,均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积1知识储备:平滑处理O
p
e
n
C
V函数形式:cv2.boxFilter(src,ddepth,ksize,anchor,normalize,borderType)ddepth
是处理结果图像的图像深度,一般使用-1表示与原始图像使用相同的图像深度。normalize
表示在滤波时是否进行归一化(这里指将计算结果规范化为当前像素值范围内
的值)处理,该参数是一个逻辑值,可能为真(值为1)或假(值为0)。通常情况下,函数cv2.boxFilter()的一般形式为:dst=cv2.boxFilter(src,ddepth,ksize)均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积1知识储备:平滑处理O
p
e
n
C
V定义:将中心点的权重值加大,远离中心点的权重值减小,在此基础
上计算邻域内各个像素值不同权重的和。于常见的3x3
或者5x5
其整数均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积知识储备:平滑处理模板如下:1高斯卷积核O
p
e
n
C
V函数形式:dst=cv2.GaussianBlur(src,ksize,sigmaX,sigmaY,borderType)sigmaX是卷积核在水平方向上(X
轴方向)的标准差,其控制的是权重比例。
sigmaY
是卷积核在垂直方向上(Y轴方向)的标准差。在实际处理中,可以显式指定sigmaX和sigmaY
为默认值0。因此,函数
cv2.GaussianBlur()的常用形式为:dst=cv2.GaussianBlur(src,ksize,0,0)
,高斯滤波的作用是消除高斯噪声(抑制服从正态分布的噪声)均值滤波方框滤波高斯滤波中值滤波双边滤波2D
卷积1知识储备:平滑处理O
p
e
n
C
V定义:用邻域内所有像素值的中间值来替代当前像素点的像素值。dst=cv2.medianBlur(src,ksize)该方法在去除脉冲噪声、椒盐噪声的同时又能保留图像边缘细节均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积1知识储备:平滑处理O
p
e
n
C
V120126127150125115119123定义:用邻域内所有像素值的中间值来替代当前像素点的像素值(寻找
中位数
)。均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积1知识储备:平滑处理124O
p
e
n
C
V定义:是综合考虑空间信息和色彩信息的滤波方式,在滤波过程中能够有效地保护图像内的边缘信息。cv2.bilateralFilter(src,d,sigmaColor,sigmaSpace,borderType)d:在滤波时选取的空间距离参数,这里表示以当前像素点为中心点的直径。如果该值
为非正数,则会自动从参数sigmaSpace计算得到。sigmaColor:
滤波处理时选取的颜色差值范围,该值决定了周围哪些像素点能够参与
到滤波中来。sigmaSpace:坐标空间中的sigma值。在函数cv2.bilateralFilter()中,参数borderType是可选参数,其余参数全部为必选参数。cv2.bilateralFilter(src,d,sigmaColor,sigmaSpace)均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积1知识储备:平滑处理O
p
e
n
C
V定义:使用特定的卷积核实现卷积操作。dst=cv2.filter2D(src,ddepth,kernel,anchor,delta,borderType)delta
:修正值,它是可选项。如果该值存在,会在基础滤波的结果上加上该值作
为最终的滤波处理结果。在通常情况下,使用滤波函数cv2.filter2D()时,对于参数锚点anchor、修正值delta、边界样式borderType,直接采用其默认值即可。因此,函数
cv2.filter2D()的常用形式为:dst=cv2.filter2D(src,ddepth,kernel)/qq_62932195/article/details/126337971均值滤波方框滤波高斯滤波中值滤波双边滤波2D
卷积1知识储备:平滑处理O
p
e
n
C
V6d8dLd9dSdvdEdZdTdT乙T0T-Z-T-A
)u
ə
d
o人
/
工
/
智
/
能
/
技
/
术
/
应
/
用OpenCV图像处理技术项目五形态学操作(一)课前任务预习教材80页,解释形态学腐蚀的原理O
p
e
n
C
V01
腐蚀与膨胀02
通用形态学函数03
核函数04
找一找:笔记注释目录CONTENTSO
p
e
n
C
V重点通用形态学函数重难点腐蚀与膨胀O
p
e
n
C
V知识储备:形态学操作形态学,即数学形态学(Mathematical
Morphology),是图像处理过程中一个非常重要的研究方向。例
如
,在识别手写数字时,能够通过形态学运算得到其骨架信息,在具体识别时,仅
针对其骨架进行运算即可。图像处理学科的一个单独分支学
科,是由数学的集合论等相关理论
发展起来的灰度&二值图像提取图像分量信息最本质的形状特征目标O
p
e
n
C
V◆
腐蚀◆
膨胀◆开运算◆闭运算◆形态学梯度运算◆顶帽运算◆黑帽运算知识储备:形态学操作BAND[NOT(A)]AND(B)NOT-AND(B)XOROp
enC
V(A)OR(B)01腐蚀与膨胀人
/
工
/
智
/
能
/
技
/
术
/
应
/
用000000
o
0000000o
0
0
o
0
o
00
o
o
o0
o
0
o0
o
0
0o
00000000000000
00o
010
o
0000
o
o0o
00o0110
o
o
oo
o
0
o
0
o
0
0oo
o
oo
o
o
oo
o
010
o
0
0000000o
00010
o
00
000o000oo
010
oo
00
0000000
o
010
o
0000
0
o
o
o
oo
o
010
o
o
o0
o
0
0
o0
o
00010o
o
o
0o
o
0000000110ooo
000000o
0111
o
o
00
o
0
o00oooo01111oo
00
o
00oooo0oooooo
0o
o
0o0o
000
o
o
o
o
0
o
o0
o
01知识储备:腐蚀与膨胀●将图像的边界点消除,使图像沿着边界向内收缩●将小于指定结构体元素的部分去除0o
o
o0
o
0
o
o
o
oo
o
o
o
00o
o
o0
o
oo
o
o
o
o
o
o
o
00
o
0111
o
o
o
o
o
o
o
o
o
0o
0
10
o
o
oo
o
o
o
0
o011oooo1110o011110o
o
o11110oo0110oo
o11111o
oo
o
oooo
o
o11
111
o
o
o00
o
00
o
011
110
o
o
0o
o
o
oo
011
1
10o
o
o
0o
o
o
o
011
1
1
1
oo
o
o
o
0o
o
o
01111
100oooo00
o
0
o11
1
1
1
111oo
o
odst=
cv2.erode(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])o
o011
10oooo1110000
o
ooo
o
o1
o
o
o
1oo
o
oo
o
00
oO
p
e
n
C
V3x30001
知识储备:腐蚀与膨胀●膨胀操作能对图像的边界进行扩张●将与当前对象(前景)接触到的背景点合并到当前对象内,从而实现将图像的边界点向外扩张dst=cv2.dilate(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])O
p
e
n
C
V将腐蚀和膨胀操作进行组合,就可以实现开运算、闭运算(关运算)、形态学梯度(Morphological
Gradient)运算、礼帽运算(顶帽运算)、黑帽运算、击中击不中等多种不同形式的运算。.erode().dilate()膨胀腐蚀知识储备:腐蚀与膨胀1O
p
e
n
C
V02通用形态学函数人
/
工
/
智
/
能
/
技
/
术
/
应
/
用类型说明含义操作ev2.MORPH_ERODE腐蚀腐蚀erode(src)cv2.MORPH
DILATE膨胀膨胀dilate(src)cv2.MORPH
OPEN开运算先腐蚀后膨胀dilate(erode
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青岛版(六三制2017秋)五年级下册第七单元教学设计(含教材目录)
- 7 妈妈睡了 教学设计-2024-2025学年语文二年级上册统编版
- 11《蟋蟀的住宅》教学设计-2024-2025学年统编版语文四年级上册
- 四年级语文楚才杯邻家的春
- 江苏专用2025版高考物理一轮复习课后练习21电场能的性质含解析
- 2024-2025学年新教材高中地理第二单元生态环境与国家安全第三节污染物跨境转移与环境安全练习含解析鲁教版选择性必修3
- 九年级数学下册第3章投影与视图投影说课稿新版湘教版
- 炉外精炼工职业技能竞赛理论考试题库-下(多选、判断题)
- 第二十二届全国机械行业职业技能竞赛(智能焊接)理论考试题库(含答案)
- 教学资源整合计划
- 少先队中队活动手册模板
- 大学生劳动教育完整PPT全套教学课件
- 家长陪读承诺书【模板】
- 单位工程预验收方案
- 教学设计 容积和容积单位“十市联赛”一等奖
- GB/T 6495.11-2016光伏器件第11部分:晶体硅太阳电池初始光致衰减测试方法
- GB/T 4661-2002滚动轴承圆柱滚子
- 绘本《永别了袜子》PPT
- 机械识图基础课件
- 《中国特色社会主义政治经济学(第二版)》第三章社会主义所有制制度
- 【电子商务案例分析】-O2O餐饮-你饿了么课件
评论
0/150
提交评论