- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;;;其中我们使用cv2.imread()函数读取image.jpg的图像数据,再通过cv2.imwrite()函数将读取到的img图像数据写入image_new.jpg图像文件中。运行后我们可以发现在根目录下出现了与image.jpg图像数据相同的image_new.jpg。;实现图片的读取与显示;cv2.imread(filename,flags)-retval;cv2.imwrite(filename,img,params)-retval;cv2.imshow(winname,mat);cv2.waitKey(delay)-retval;;在计算机视觉中,感兴趣区域(RegionOfInterest,ROI)表示图像中需要处理的地方。
在现实生活中,越来越多的地方开始采用人脸识别进行身份验证,如火车站的人脸闸机、手机的快捷支付。而在进行人脸识别验证中,人们常常可以注意到显示屏上除了人脸,还会实时用方框将人脸标识出来,而标识出来的图形对象将会用于程序后续的处理,标识出来的区域便可理解为ROI(RegionofInterest)。计算机如何知道人脸的位置在后面章节会进行讲解,我们现在将对关于OpenCV中的ROI区域的标识和截取功能进行学习。
;NumPy一个用Python实现的科学计算,常用于矩阵和矢量计算,支持List的常用功能,如切片等。OpenCV将NumPy作为图像处理的基本数据类型,读取操作的图像数据类型就是NumPy的多维数组numpy.ndarray。
Numpy库可使用命令行CMD输入指令pipinstallnumpy进行安装。
为了能更加直观和方便地对图像进行处理,OpenCV采用了NumPy的多维数组来对图像数据进行存储。
;通过已知的人脸区域的坐标对图像数据进行切片操作后得到了人脸区域的图像数据并显示。;图像截取起始点为(150,240)的人脸数据;xiaohe图像中人脸的坐标中心点为(150,240),我们可以通过对图像数据进行切片操作将人脸截取出来;在OpenCV中,我们可以通过几何变换进行对图像的处理。几何变换是对图像平面上的像素进行重新安排。通过几何变换可以大幅度减少图像数据中的不必要的或者多余的干扰信息,有利于我们在后续的处理和识别工作中将注意力集中在图像中目标内容的本身。几何变换常常作为图像处理应用的预处理步骤,是图像归一化的核心工作之一。
一个几何变换需要两部分运算:首先是空间变换所需的运算,如平移、缩放、旋转和正平行投影等,需要用它来表示输出图像与输入图像之间的(像素)映射关系;此外,还需要使用灰度差值算法,因为按照这种变换关系进行计算,输出图像的像素可能被映射到输入图像的非整数坐标上。
我们接下来学习OpenCV的仿射函数,并对xiaohe图像进行平移变换的处理;在OpenCV平移之前,我们需要构造一个仿射矩阵,仿射矩阵的第一个数组为目标图像在x轴方向上移动多少距离,第二数组为在y轴方向移动多少距离。所以在该程序中,我们首先用Numpy数组来构造这个仿射矩阵,并将其传给cv2.warpAffine()函数中,从而实现目标图像的平移。;用于对图像进行仿射变换:
第一个参数,numpy.ndarray类型的src,表示需要进行仿射变换的图像。
第二个参数,numpy.ndarray类型的M,表示2×3的仿射矩阵。
第三个参数,tuple类型的dsize,表示输出的图像大小。
第四个参数,numpy.ndarray类型的dst,表示输出的图像。
第五个参数,int类型的borderMode,表示边界像素模式,默认值为BORDER_CONSTANT。
第六个参数,int类型的borderValue,表示边界取值,默认值为0。
;对xiaohe的图像进行缩放显示处理;OpenCV提供了一个专门用于缩放的函数,为cv2.resize()函数。该函数有两种办法进行图像的缩放处理,一是设置图像缩放因子对图像进行缩放处理,二是设置图像的像素大小进行缩放处理。在该程序中,我们采用设置图像缩放因子对图像进行放大并显示,采用设置图像的像素大小对图像进行缩小并显示。;cv2.resize(src,dsize,dst=None,fx=None,fy=None,interpolation=None);OpenCV常用插值方法枚举表;对xiaohe的图像进行旋转处理;首先我们通过cv2.getRotationMatrix2D()函数生成一个仿射矩阵,这个函数需要三个参数,分别是旋转中心、
您可能关注的文档
- Python 编程测试卷(二).docx
- Python 编程测试卷(三).docx
- Python 编程测试卷(一).docx
- Python 综合测试卷(四-难度中等).docx
- Python 综合测试卷(五-爬虫+数据库,难度高).docx
- Python基础与大数据应用(第2版)(微课版) 试卷及答案1.docx
- Python基础与大数据应用(第2版)(微课版) 试卷及答案2.docx
- Python基础与大数据应用(第2版)(微课版) 试卷及答案3.docx
- Python基础与大数据应用(第2版)(微课版) 试卷及答案4.docx
- Python基础与大数据应用(第2版)(微课版) 试卷及答案5.docx
- OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第九章_目标检测与识别.pptx
- OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第六章_人脸识别.pptx
- OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第七章_图像特征检测.pptx
- OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第三章_图像平滑与形态学处理(1).pptx
- OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第十二章_YOLOv5检测.pptx
- OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第十一章_神经网络.pptx
- OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第十章_目标追踪.pptx
- OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第四章_图像基础变换.pptx
- OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第五章_图像轮廓检测.pptx
- OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第一章_初见OpenCV(1).pptx
文档评论(0)