opencv python轻松入门_OpenCV轻松入门 面向Python

章OPENCV入门1

1.1如何使用1

1.2图像处理基本操作3

1.2.1读取图像3

1.2.2显示图像5

1.2.3保存图像9

1.3OpenCV贡献库10

第2章图像处理基础11

2.1图像的基本表示方法11

2.2像素处理15

2.3使用numpy.array访问像素23

2.4感兴趣区域(ROI)29

2.5通道操作32

2.5.1通道拆分32

2.5.2通道合并34

2.6获取图像属性36

第3章图像运算37

3.1图像加法运算37

3.1.1加号运算符37

3.1.2cv2.add()函数38

3.2图像加权和40

3.3按位逻辑运算43

3.3.1按位与运算43

3.3.2按位或运算46

3.3.3按位非运算47

3.3.4按位异或运算48

3.4掩模49

3.5图像与数值的运算52

3.6位平面分解53

3.7图像加密和解密59

3.8数字水印63

3.8.1原理64

3.8.2实现方法66

3.8.3例题73

3.9脸部打码及解码74

第4章色彩空间类型转换77

4.1色彩空间基础77

4.1.1GRAY色彩空间77

4.1.2XYZ色彩空间78

4.1.3YCrCb色彩空间78

4.1.4HSV色彩空间79

4.1.5HLS色彩空间80

4.1.6CIEL*a*b*色彩空间80

4.1.7CIEL*u*v*色彩空间81

4.1.8Bayer色彩空间82

4.2类型转换函数82

4.3类型转换实例88

4.3.1通过数组观察转换效果88

4.3.2图像处理实例92

4.4HSV色彩空间讨论93

4.4.1基础知识93

4.4.2获取指定颜色95

4.4.3标记指定颜色96

4.4.4标记肤色100

4.4.5实现艺术效果101

4.5alpha通道102

第5章几何变换106

5.1缩放106

5.2翻转110

5.3仿射111

5.3.1平移112

5.3.2旋转113

5.3.3更复杂的仿射变换114

5.4透视115

5.5重映射117

5.5.1映射参数的理解117

5.5.2复制119

5.5.3绕x轴翻转121

5.5.4绕y轴翻转122

5.5.5绕x轴、y轴翻转124

5.5.6x轴、y轴互换126

5.5.7图像缩放128

第6章阈值处理130

6.1threshold函数130

6.1.1二值化阈值处理(cv2.THRESH_BINARY)131

6.1.2反二值化阈值处理(cv2.THRESH_BINARY_INV)133

6.1.3截断阈值化处理(cv2.THRESH_TRUNC)135

6.1.4超阈值零处理(cv2.THRESH_TOZERO_INV)136

6.1.5低阈值零处理(cv2.THRESH_TOZERO)138

6.2自适应阈值处理139

6.3Otsu处理141

第7章图像平滑处理144

7.1均值滤波146

7.1.1基本原理146

7.1.2函数语法150

7.1.3程序示例150

7.2方框滤波152

7.2.1基本原理152

7.2.2函数语法153

7.2.3程序示例154

7.3高斯滤波156

7.3.1基本原理156

7.3.2函数语法158

7.3.3程序示例159

7.4中值滤波159

7.4.1基本原理160

7.4.2函数语法161

7.4.3程序示例161

7.5双边滤波162

7.5.1基本原理162

7.5.2函数语法164

7.5.3程序示例164

7.62D卷积166

第8章形态学操作168

8.1腐蚀168

8.2膨胀173

8.3通用形态学函数178

8.4开运算179

8.5闭运算180

8.6形态学梯度运算182

8.7礼帽运算183

8.8黑帽运算185

8.9核函数186

第9章图像梯度189

9.1Sobel理论基础189

9.2Sobel算子及函数使用191

9.2.1参数ddepth192

9.2.2方向195

9.2.3实例196

9.3Scharr算子及函数使用200

9.4Sobel算子和Scharr算子的比较204

9.5Laplacian算子及函数使用206

9.6算子总结208

0章CANNY边缘检测209

10.1Canny边缘检测基础209

10.2Canny函数及使用213

1章图像金字塔215

11.1理论基础215

11.2pyrDown函数及使用217

11.3pyrUp函数及使用219

11.4采样可逆性的研究220

11.5拉普拉斯金字塔223

11.5.1定义223

11.5.2应用225

2章图像轮廓229

12.1查找并绘制轮廓229

12.1.1查找图像轮廓:findContours函数229

12.1.2绘制图像轮廓:drawContours函数237

12.1.3轮廓实例238

12.2矩特征240

12.2.1矩的计算:moments函数241

12.2.2计算轮廓的面积:contourArea函数243

12.2.3计算轮廓的长度:arcLength函数246

12.3Hu矩248

12.3.1Hu矩函数248

12.3.2形状匹配252

12.4轮廓拟合254

12.4.1矩形包围框254

12.4.2最小包围矩形框257

12.4.3最小包围圆形259

12.4.4最优拟合椭圆260

12.4.5最优拟合直线261

12.4.6最小外包三角形262

12.4.7逼近多边形263

12.5凸包266

12.5.1获取凸包267

12.5.2凸缺陷268

12.5.3几何学测试270

12.6利用形状场景算法比较轮廓275

12.6.1计算形状场景距离275

12.6.2计算Hausdorff距离278

12.7轮廓的特征值280

12.7.1宽高比280

12.7.2Extent281

12.7.3Solidity282

12.7.4等效直径(EquivalentDiameter)283

12.7.5方向284

12.7.6掩模和像素点286

12.7.7优选值和最小值及它们的位置291

12.7.8平均颜色及平均灰度293

12.7.9极点294

3章直方图处理297

13.1直方图的含义297

13.2绘制直方图301

13.2.1使用Numpy绘制直方图301

13.2.2使用OpenCV绘制直方图302

13.2.3使用掩模绘制直方图307

13.3直方图均衡化312

13.3.1直方图均衡化原理313

13.3.2直方图均衡化处理317

13.4pyplot模块介绍319

13.4.1subplot函数319

13.4.2imshow函数320

4章傅里叶变换324

14.1理论基础324

14.2Numpy实现傅里叶变换328

14.2.1实现傅里叶变换329

14.2.2实现逆傅里叶变换330

14.2.3高通滤波示例331

14.3OpenCV实现傅里叶变换333

14.3.1实现傅里叶变换333

14.3.2实现逆傅里叶变换335

14.3.3低通滤波示例336

5章模板匹配339

15.1模板匹配基础339

15.2多模板匹配345

6章霍夫变换351

16.1霍夫直线变换351

16.1.1霍夫变换原理351

16.1.2HoughLines函数357

16.1.3HoughLinesP函数359

16.2霍夫圆环变换361

7章图像分割与提取364

17.1用分水岭算法实现图像分割与提取364

17.1.1算法原理364

17.1.2相关函数介绍366

17.1.3分水岭算法图像分割实例375

17.2交互式前景提取376

8章视频处理383

18.1VideoCapture类383

18.1.1类函数介绍383

18.1.2捕获摄像头视频387

18.1.3播放视频文件388

18.2VideoWriter类389

18.2.1类函数介绍389

18.2.2保存视频391

18.3视频操作基础392

9章绘图及交互393

19.1绘画基础393

19.1.1绘制直线394

19.1.2绘制矩形394

19.1.3绘制圆形395

19.1.4绘制椭圆397

19.1.5绘制多边形398

19.1.6在图形上绘制文字400

19.2鼠标交互402

19.2.1简单示例404

19.2.2进阶示例405

19.3滚动条407

19.3.1用滚动条实现调色板408

19.3.2用滚动条控制阈值处理参数409

19.3.3用滚动条作为开关410

第20章K近邻算法412

20.1理论基础412

20.2计算415

20.2.1归一化415

20.2.2距离计算416

20.2手写数字识别的原理417

20.3自定义函数手写数字识别421

20.4K近邻模块的基本使用427

20.5K近邻手写数字识别429

第21章支持向量机431

21.1理论基础431

21.2SVM案例介绍434

第22章K均值聚类439

22.1理论基础439

22.1.1分豆子439

22.1.2K均值聚类的基本步骤441

22.2K均值聚类模块441

22.3简单示例442

第23章人脸识别448

23.1人脸检测448

23.1.1基本原理448

23.1.2级联分类器的使用451

23.1.3函数介绍452

23.1.4案例介绍453

23.2LBPH人脸识别454

23.2.1基本原理454

23.2.2函数介绍456

23.2.3案例介绍457

23.3EigenFaces人脸识别458

23.3.1基本原理458

23.3.2函数介绍459

23.3.3案例介绍460

23.4Fisherfaces人脸识别461

23.4.1基本原理461

23.4.2函数介绍463

23.4.3案例介绍464

23.5人脸数据库465

参与文献467

附录A范例470显示全部>>隐藏全部>>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

产生式是蕴含式_独栋别墅~下沉式庭院设计

遇见美. 发现美创造美. 成就美有趣、有情奢享生活.创艺空间设计项目概述:这是一套婚房,从设计到装修完毕,历经三年。这是一生幸福开启的地方。一层为会客厅、室内花园、餐厅、茶室、老人房。原始房屋整体空间不够方正,空间利用率低…

在前端中如何在表格中最后一行加入输入框_UI设计进阶干货 — 如何制定UI规范...

APP为何要制定设计规范作为UI设计师,整理设计规范也是设计能力的一种体现。但很多小公司的设计师都觉得, 整个公司只有自己一个设计师, 所有的设计稿都是自己一个人做的, 风格肯定都是统一的, 所以没必要花那么长时间去做一个没有用的东西。但其实规范的本身并不是只…

如何用三元组表表示下列稀疏矩阵_盘一盘 Python 系列特别篇21之:SciPy 稀疏矩阵...

引言和稠密矩阵相比,稀疏矩阵的最大好处就是节省大量的内存空间来储存零。稀疏矩阵本质上还是矩阵,只不过多数位置是空的,那么存储所有的 0 非常浪费。稀疏矩阵的存储机制有很多种 (列出常用的五种):COO (Coordinate List Format)…

六西格玛dfss_向六西格玛质量水平进攻!

为提高设计质量,提升研发团队整体作战能力,2019年初,技术中心确定了大力推进先进质量管理方法DFSS(六西格玛设计)的工作目标。一年来,在DFSS小组的策划组织和通用黑带大师的倾力支持下 ,技术中心各区域工程师积极地学习…

python多进程和多线程使用场景_Python36 多线程、多进程的使用场景

多线程与多进程的使用场景 io 操作不占用CPU(从硬盘、从网络、从内存读数据都算io) 计算占用CPU(如11计算) python中的线程是假线程,不同线程之间的切换是需要耗费资源的,因为需要存储线程的上下文&#xf…

c字符串中包含双引号_必须知道的C语言知识细节:单引号和双引号正确用法

C语言中ACSII码字符单引号和双引号"在程序中经常出现,很简单,但却是十分重要的语法标点符号,初学者容易混淆使用。单引号在字符常量时使用,表示单个字符。例如:char c;c a;c 1;c A;当在单引号中出现两个及以上…

计算机组成原理哈工大期末_浅谈计算机组成原理(三)

1、第二章:存储系统通过下面的思维导图来依次分享「存储系统」里面重要知识点。2、第一节:存储器的结构1. 主存储器:简称主存,又称内存储器(内存),用来存放计算机运行期间所需的大量程序和数据,CPU可以直接…

常用的python测试脚本_详解Python的单元测试

如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生。 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。 比如对函数abs(),我们可以编写出以下几个测试用例&…

网页中竖的目录怎么改成横的_怎么学习手绘插画?小白也能入门哦

怎么学习手绘插画?小白也能入门哦!在回答这个问题之前,我们先来认识一下什么插画?相信很多人对插画这个概念是很笼统的。插画在中国被人们俗称为插图。发展至今其应用范围很是广泛包括;出版物配图、卡通吉祥物、广告、…

python自动测试v_python下selenium自动化测试自我实践

周末实验自动化提交数据时,本来没打算写记录的,不过遇到一些问题,觉得可以提提。基本操作就不用写了,搜索过程中都发现了两个博客都出了seleniumpython的书,说明操作一搜一大把。 1. 等待页面加载完成 本来用的sleep()…

graphpad细胞增殖曲线_肿瘤干细胞?居然被这两个新加坡人轻松干掉了?

近日,著名医学期刊《自然•医学》上发表了一篇关于肿瘤干细胞的文章。来自新加坡的研究团队发现,人类非小细胞肺癌的肿瘤干细胞需要大量的蛋氨酸,以维持自身组蛋白的甲基化,这对于肿瘤干细胞的生长和致瘤作用至关重要。同时&#…

isight参数优化理论与实例详解_案例1(ISIGHT集成ADAMS CAR方法实现)

本文字数1304字25图,建议阅读时间7分钟强调一下是ISIGHT,不是INSIGHTINSIGHT是ADAMS内置的一个试验设计模块,它提供了一组统计工具,用于分析仿真结果,辅助优化和改进系统ISIGHT是功能强大的计算机辅助优化平台&#xf…

修改图片src_【学习园地】企业SRC搭建

xSRC-企业SRC搭建腾讯xSRC 开源版是腾讯安全应急响应中心(TSRC)面向合作伙伴推出的安全应急响应中心(SRC)建站软件,软件源代码开放,可支持合作伙伴轻松构建SRC平台,省去大量开发运维工作,并支持个性化功能及页面设置,企…

2 数据源配置_论多数据源(读写分离)的实现方案

好的,作为一个合格的bug生产者,我们直接进入主题,多数据源和读写分离实现方案。首先多数据源和读写分离什么时候我们才需要呢?多数据源:一个单体项目过于复杂,需要操作多个业务库的时候,就需要多…

pythonsort函数时间复杂度_合并排序算法——时间复杂度详解和python代码实现

递归形式递归形式是算法中常用到的一种构造思路。递归允许函数或过程对自身进行调用,是对算法中重复过程的高度概括,从本质层面进行刻画,避免算法书写中过多的嵌套循环和分支语法。因此,是对算法结构很大的简化。递归形式实际可以…

docker安装gitlab_docker 安装部署gitlab

下载镜像并且启动//下载镜像(镜像较大,如果网速不行可以切换阿里云镜像仓库) docker pull gitlab/gitlab-ce:latest //启动镜像 docker run --name gitlab -d -p 18080:80 -p 1443:443 -p 2222:22 -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/lo…

easyexcel导出百万级数据_百万级别数据Excel导出优化

这篇文章不是标题党,下文会通过一个仿真例子分析如何优化百万级别数据Excel导出。笔者负责维护的一个数据查询和数据导出服务是一个相对远古的单点应用,在上一次云迁移之后扩展为双节点部署,但是发现了服务经常因为大数据量的数据导出频繁Ful…

运行catia_CATIA清除错误目录及防串链接

清除错误目录大家好今天我来教大家如何清除CATIA错误目录,由于我们在日常工作中经常会互相发送数据,而CATIA的缓存功能通常会记录这些文件的路径,所以我们打开别人发的数据时在桌面的右下角通常会有警告的提醒,那我们如何来清除缓…

python 键盘输入数字_九宫格键盘输入

九宫格键盘输入 Letter Combinations of a Phone Number 给定一个数字字符串,返回数字可能代表的所有可能的字母组合。 数字到字母的映射(就像九宫格电话按钮一样)如下图。 Given a digit string, return all possible letter combinations t…

python更新包列表出错_解决pycharm无法获取安装包文件列表

Pycharm 中Available packages nothing to showManage Repositories:https://pypi.python.org/pypihttps://pypi.tuna.tsinghua.edu.cn/simple/http://mirrors.aliyun.com/pypi/simple/Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”&…