范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

一篇文章就梳理清楚了PythonOpenCV的知识体系

  这是一篇学习量很大的文章
  观前提醒,本篇文章涉及知识点巨大,建议先收藏,再慢慢学习。
  本篇文章目的将为你详细罗列 Python OpenCV 的学习路线与重要知识点。核心分成 24 个小节点,全部掌握,OpenCV 入门阶段就顺利通过了。  1. OpenCV 初识与安装
  本部分要了解 OpenCV (Open Source Computer Vision Library)的相关简介,OpenCv 可以运行在多平台之上,轻量级而且高效,由一系列 C 函数和少量 C++类构成,提供了 Python、Ruby、MATLAB 等语言的接口,所以在学习的时候,要注意查阅资料的语言实现相关问题。
  这个阶段除了安装 OpenCV 相关库以外,建议收藏官方网址,官方手册,官方入门教程,这些都是最佳的学习资料。
  模块安装完毕,需要重点测试 OpenCV 是否安装成功,可通过 Python 查询安装版本。  2. OpenCV 模块简介
  先从全局上掌握 OpenCV 都由哪些模块组成。例如下面这些模块,你需要找到下述模块的应用场景与简介。
  core 、 imgproc 、 highgui 、 calib3d 、 features2d 、 contrib 、 flann 、 gpu 、 legacy 、 ml 、 objdetect 、 photo 、 stitching 。
  整理每个模块的核心功能,并完成第一个 OpenCV 案例,读取显示图片。  3. OpenCV 图像读取,显示,保存
  安装 OpenCV 之后,从图像获取开始进行学习,包含本地加载图片,相机获取图片,视频获取,创建图像等内容。
  只有先获取图像之后,才能对图像进行操作处理,信息提取,结果输出, 图像显示 , 图像保存 。
  对于一个图像而言,在 OpenCV 中进行读取展示的步骤如下,你可以将其代码进行对应。  图像读取;  窗口创建;  图像显示;  图像保存;  资源释放。
  涉及需要学习的函数有
  cv2.imread()  、 cv2.namedWindow()  、 cv2.imshow()  、 cv2.imwrite()  、 cv2.destroyWindow()  、 cv2.destroyAllWindows()  、  cv2.imshow()  、 cv2.cvtColor()  、 cv2.imwrite()  、 cv2.waitKey()  。
  4. 摄像头和视频读取,保存
  第一个要重点学习  VideoCapture   类,该类常用的方法有: open() 函数;  isOpened() 函数;  release() 函数;  grab() 函数;  retrieve() 函数;  get() 函数;  set() 函数;
  除了读取视频外,还需要掌握 Opencv 提供的  VideoWriter   类,用于保存视频文件。
  学习完相关知识之后,可以进行这样一个实验,将一个视频逐帧保存为图片。  5. OpenCV 常用数据结构和颜色空间
  这部分要掌握的类有  Point   类、Rect   类、Size   类、Scalar   类,除此之外,在 Python 中用 numpy   对图像进行操作,所以 numpy   相关的知识点,建议提前学习,效果更佳。
  OpenCV 中常用的颜色空间有 BGR 颜色空间、HSV/HLS 颜色空间、Lab 颜色空间,这些都需要了解,优先掌握 BGR 颜色空间。  6. OpenCV 常用绘图函数
  掌握如下函数的用法,即可熟练的在 Opencv 中绘制图形。  cv2.line();  cv2.circle();  cv2.rectangle();  cv2.ellipse();  cv2.fillPoly();  cv2.polylines();  cv2.putText()。  7. OpenCV 界面事件操作之鼠标与滑动条
  第一个要掌握的函数是鼠标操作消息回调函数, cv2.setMouseCallback()   ,滑动条涉及两个函数,分别是:cv2.createTrackbar()   和 cv2.getTrackbarPos()  。
  掌握上述内容之后,可以实现两个案例,其一为鼠标在一张图片上拖动框选区域进行截图,其二是通过滑动条让视频倍速播放。  8. 图像像素、通道分离与合并
  了解图像像素矩阵,熟悉图片的像素构成,可以访问指定像素的像素值,并对其进行修改。
  通道分离函数  cv2.split()  ,通道合并函数 cv2.merge()  。 9. 图像逻辑运算
  掌握图像之间的计算,涉及函数如下:  cv2.add();  cv2.addWeighted();  cv2.subtract();  cv2.absdiff();  cv2.bitwise_and();  cv2.bitwise_not();  cv2.bitwise_xor()。
  还可以研究图像乘除法。  10. 图像 ROI 与 mask 掩膜
  本部分属于 OpenCV 中的重点知识,第一个为感兴趣区域 ROI,第二个是 mask 掩膜(掩码)操作 。
  学习 ROI 部分时,还可以学习一下图像的深浅拷贝。  11. 图像几何变换
  图像几何变换依旧是对基础函数的学习与理解,涉及内容如下:  图像缩放 cv2.resize();  图像平移 cv2.warpAffine();  图像旋转 cv2.getRotationMatrix2D();  图像转置 cv2.transpose();  图像镜像 cv2.flip();  图像重映射 cv2.remap()。  12. 图像滤波
  理解什么是滤波,高频与低频滤波,图像滤波函数。
  线性滤波:方框滤波、均值滤波、高斯滤波,
  非线性滤波:中值滤波、双边滤波,  方框滤波 cv2.boxFilter();  均值滤波 cv2.blur();  高斯滤波 cv2.GaussianBlur();  中值滤波 cv2.medianBlur();  双边滤波 cv2.bilateralFilter()。  13. 图像固定阈值与自适应阈值
  图像阈值化是图像处理的重要基础部分,应用很广泛,可以根据灰度差异来分割图像不同部分,阈值化处理的图像一般为单通道图像(灰度图),核心要掌握的两个函数:  固定阈值:cv2.threshold();  自适应阈值:cv2.adaptiveThreshold()。  14. 图像膨胀腐蚀
  膨胀、腐蚀属于形态学的操作,是图像基于形状的一系列图像处理操作。
  膨胀腐蚀是基于高亮部分(白色)操作的,膨胀是対高亮部分进行膨胀,类似"领域扩张", 腐蚀是高亮部分被腐蚀,类似"领域被蚕食"。
  膨胀腐蚀的应用和功能:  消除噪声;  分割独立元素或连接相邻元素;  寻找图像中的明显极大值、极小值区域;  求图像的梯度;
  核心需要掌握的函数如下:  膨胀 cv2.dilate();  腐蚀 cv2.erode()。
  形态学其他操作, 开运算 、 闭运算 、 顶帽 、 黑帽 、 形态学梯度  这些都是基于膨胀腐蚀基础之上,利用  cv2.morphologyEx()   函数进行操作。 15. 边缘检测
  边缘检测可以提取图像重要轮廓信息,减少图像内容,可用于分割图像、特征提取等操作。
  边缘检测的一般步骤:  滤波:滤出噪声対检测边缘的影响 ;  增强:可以将像素邻域强度变化凸显出来—梯度算子 ;  检测:阈值方法确定边缘 ;
  常用边缘检测算子:  Canny 算子,Canny 边缘检测函数 cv2.Canny();  Sobel 算子,Sobel 边缘检测函数 cv2.Sobel();  Scharr 算子,Scharr 边缘检测函数 cv2.Scahrr() ;  Laplacian 算子,Laplacian 边缘检测函数 cv2.Laplacian()。  16. 霍夫变换
  霍夫变换(Hough Transform)是图像处理中的一种特征提取技术,该过程在一个参数空间中,通过计算累计结果的局部最大值,得到一个符合该特定形状的集合,作为霍夫变换的结果。
  本部分要学习的函数:  标准霍夫变换、多尺度霍夫变换 cv2.HoughLines() ;  累计概率霍夫变换 cv2.HoughLinesP() ;  霍夫圆变换 cv2.HoughCricles() 。  17. 图像直方图计算及绘制
  先掌握直方图相关概念,在掌握核心函数,最后通过  matplotlib   模块对直方图进行绘制。计算直方图用到的函数是 cv2.calcHist()  。
  直方图相关应用:  直方图均衡化 cv2.equalizeHist();  直方图对比 cv2.compareHist();  反向投影 cv2.calcBackProject()。  18. 模板匹配
  模板匹配是在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术。
  核心用到的函数如下:  模板匹配 cv2.matchTemplate();  矩阵归一化 cv2.normalize();  寻找最值 cv2.minMaxLoc()。  19. 轮廓查找与绘制
  核心要理解到在 OpenCV 中,查找轮廓就像在黑色背景中找白色物体。
  常用函数:  查找轮廓 cv2.findContours();  绘制轮廓 cv2.drawContours() 。
  最后应该掌握针对每个轮廓进行操作。
  20. 轮廓特征属性及应用
  这部分内容比较重要,并且知识点比较多,核心内容与函数分别如下:  寻找凸包 cv2.convexHull() 与 凸性检测 cv2.isContourConvex();  轮廓外接矩形 cv2.boundingRect();  轮廓最小外接矩形 cv2.minAreaRect();  轮廓最小外接圆 cv2.minEnclosingCircle();  轮廓椭圆拟合 cv2.fitEllipse();  逼近多边形曲线 cv2.approxPolyDP();  计算轮廓面积 cv2.contourArea();  计算轮廓长度 cv2.arcLength();  计算点与轮廓的距离及位置关系 cv2.pointPolygonTest();  形状匹配 cv2.matchShapes()。  21. 高级部分-分水岭算法及图像修补
  掌握分水岭算法的原理,掌握核心函数  cv2.watershed()   。
  可以扩展补充图像修补技术及相关函数  cv2.inpaint()  ,学习完毕可以尝试人像祛斑应用。 22. GrabCut & FloodFill 图像分割、角点检测
  这部分内容都需要一些图像专业背景知识,先掌握相关概念知识,在重点学习相关函数。  GrabCut 算法 cv2.grabCut();  漫水填充算法 cv2.floodFill();  Harris 角点检测 cv2.cornerHarris();  Shi-Tomasi 角点检测 cv2.goodFeaturesToTrack();  亚像素角点检测 cv2.cornerSubPix()。  23. 特征检测与匹配
  特征点的检测和匹配是计算机视觉中非常重要的技术之一, 在物体识别、视觉跟踪、三维重建等领域都有很广泛的应用。
  OpenCV 提供了如下特征检测方法:  "FAST" FastFeatureDetector;  "STAR" StarFeatureDetector;  "SIFT" SIFT(nonfree module) Opencv3 移除,需调用 xfeature2d 库;  "SURF" SURF(nonfree module) Opencv3 移除,需调用 xfeature2d 库;  "ORB" ORB Opencv3 移除,需调用 xfeature2d 库;  "MSER" MSER;  "GFTT" GoodFeaturesToTrackDetector;  "HARRIS" (配合 Harris detector);  "Dense" DenseFeatureDetector;  "SimpleBlob" SimpleBlobDetector。  24. OpenCV 应用部分之运动物体跟踪与人脸识别
  了解何为运动物体检测,OpenCV 中常用的运动物体检测方法有 背景减法 、 帧差法 、 光流法 ,跟踪算法常用的有  meanShift  , camShift  ,粒子滤波  , 光流法   等。 meanShift 跟踪算法 cv2.meanShift();  CamShift 跟踪算法 cv2.CamShift()。
  如果学习人脸识别,涉及的知识点为:  人脸检测:从图像中找出人脸位置并标识;  人脸识别:从定位到的人脸区域区分出人的姓名或其它信息;  机器学习。

迎战618,骁龙888旗舰接连放水,8256G降了1900元iPhone13反击国产,512G降下几百大洋!多少人后悔买早了?在整个行业销量下跌的大环境下,手机厂商们为了刺激增长,都在积极调整产品布局,主要是推出很多性价比很高的机型,尤其是iOS15。5值得升级吗?iOS15。5正式版体验评测今天凌晨,苹果正式推送了iOS15。5正式版,版本号为19F77,与上周发布的iOS15。5RC版相同。这意味着上周已经升级到RC版的用户,今天无法直接升为正式版。伴随着iOS16TCLQ10G王炸亮相!横向对比索尼A80J孰强孰弱?2022年最值得购买的电视电视越来越高端的同时,技术也在不断革新,各种显示技术也是百花齐放。其中,MiniLED凭借着高对比度高亮度寿命长等特点受到了许多厂商的青睐,使得MiniL使用docker搭建redis集群这里搭建一个3主3副本的redis集群使用3台虚拟机,每台机器上1主1副ip地址主节点端口号副节点端口号192。168。44。1517001hr7005hr192。168。44。1融捷股份锂电原料龙头,未来可期一公司的主营业务是锂矿,可以看到前面好几次都被ST了,一旦赛道选对了后就是要起飞,2021年以及疯涨了一波,当时估值已经很高了,2022年业绩开始爆发,动态市盈率已经很低了。实在是来论丨侵权成瘾的知网,一句赔不起恐过不了关近日,湖北作家陈应松起诉知网,他在检索时发现,自己一共有300多篇文章被中国知网收录,大部分都未经同意,其中部分文章已经被下载了几百次。随后陈应松起诉知网运营,提出按照1500元每头部主播与电商对经济的伤害头部主播带货和电商对经济的伤害是深度的,财富快速集中到极少部分的人手里。几千亿财富放在马云身上只是一个数字,但这些财富散到千万个人身上,却能创造非常巨大的消费价值和投资价值。然后会操作系统受制于人,微软几乎统治我国市场,中国联通入场打破僵局文BU11月8日,中国联通亮出设计研发的自主知识产权操作系统CULinux,引起了广泛的关注。中国联通亮出操作系统据了解,CULinux适用于边缘计算云基础设施服务器等诸多场景,并手机充电到100是好是坏?充前先插数据线or电源?手机充电小心3个误区!快收藏手机没电,生无可恋!手机刚买的时候电池电量可以维持一整天,但过了两三年,电池的续航能力就没有那么持久了。究竟哪些错误充电的习惯缩短了电池的寿命?如何正确充电才能使电池更耐用呢?社长曾经以为卢伟冰是一个落魄高管,没想到居然让Redmi走向世界说到卢伟冰,相信关注数码手机圈的人应该都认识,他就是Redmi的品牌总经理,江湖外号卢十瓦卢怼怼。因为当年,Redmi新机快速普及快充技术,并吐槽友商充电速度,只有10W。所以便有苹果果实附近旳叶子剪掉会影响苹果生长吗?苹果树跟许多植物一样,果实的营养供给全部要靠叶子来完成,绿叶通过光合作用将二氧化碳和光能转化为阳气与有机化合物,供应植物本身营养,通过呼吸作用维持细胞内完成生命活动所需能量,通过蒸
自家的电磁炉罢工,必须尽快解决,这是老婆大人的命令!(原创)首先我喜欢机电维修,它能让我获得成就感,这回是自己的电磁炉(美的EH2010C)罢工了,我决定自力更生,电磁炉有三个位置的电压必须掌握一DC300V(整流模块)二散热风扇DC18V斐色耐JIUJIU化妆镜,让小姐姐的妆容更精致爱美之心,人皆有之,一个精致的妆容可以让小姐姐变得更美。对于小姐姐们来说,出门前给自己画一个美美的妆,是一节必不可少的功课。然而,化妆离不开镜子,尤其是可以让妆容更加精致的化妆镜。冲动消费买了远景X6,后排轻松坐3个小姐姐,长期用车体验如何?跟大多数人一样,买车前千挑万选,一开始选择对象是奔驰宝马奥迪,然后变成了大众丰田本田,最终提车却是一台远景X6。原因不用多说,当然是钱包余额不足,本想老丈人充值,最后却没能成功。认2020年高性价比蓝牙耳机推荐漫步者W2亲测体验。真无线蓝牙耳机什么牌子性价比最高?这个问题我之前也对比了我很多蓝牙耳机,产品太多,确实不能面面俱到,今天给大家介绍一款我个人觉得性价比超高的真无线蓝牙耳机漫步者W2。按照国际惯例,华为P40系列ampampquot全能型ampampquot摄影旗舰新宠火爆销量亮眼4月8日华为P40系列于国内发布,当晚1008分,华为P40P40Pro正式开售,随即在华为官方商城和各大电商收获了相当多的好评。并第一时间登上京东手机通讯销量榜榜首,华为P40P上报集团13报刊休刊,分流2400人,新媒体业务占比过一半一裘新报业昔日风华今朝涅槃,皆为光辉岁月事件近日,在上报集团的年度工作会议上,掌门人裘新公布了几个集团的重要业务数据一是报刊业务出现企稳迹象,断崖式下滑有望减缓20142017年,关于媒体如何转型,请听一个优秀的一线操盘者的思考编者按处于困境的传统媒体正处于艰难转型的征程中,有盲目乐观的,有过度悲观的,更有躬身前行的。而唯有对传媒业发展趋势我国国情有深刻认识熟悉互联网,且能够把想法落到实处的一线操盘者,才2017年移动通信业务收入9071亿元纽约时报2017年总营收增长8一工信部2017年移动通信业务收入达9071亿元事件工信部日前发布2017年通信业统计公报,初步核算,2017年电信业务总量达到27557亿元,同比增长76。4电信业务收入1262新年贺词人工智能即个体映射日历翻向最后一页,当我们冷静思考在过去的一年什么给我们带来最大冲击和变革时?我想那一定是基于大数据的人工智能。正如花入人眼便有了万种姿态,不同人眼中的人工智能自也相差悬殊,有的人认分享每日捡到的小漏让你来看我是赚了还是赔了导读老程发现科普类的文章始终推荐量都是一个谜,阅读完成率也非常的低,那么老程就带大家来进行实际操作,对回收的配件进行估价,然后让你了解市场行情和配件性能。正文今天老程就跑了来回20企业的3种死法(必死作死冤死)(前沿)2019年被国内投资界称为创业企业死亡年,有很多大家熟知的企业走向终结。2020年,意外爆发的新冠疫情又让不少企业陷入困境甚至宣告破产。企业为什么会失败?站在2020的年末,总结那