福建建设培训中心网站/百度站长工具app

福建建设培训中心网站,百度站长工具app,苏宁易购网站建设,WordPress论坛案例《OpenCV计算机视觉开发实践:基于Python》 本书内容 OpenCV是一个跨平台计算机视觉和机器学习软件库,也是计算机视觉领域的开发人员必须掌握的技术。《OpenCV计算机视觉开发实践:基于Python》基于Python 3.8全面系统地介绍OpenCV 4.10的使用,并配套示例…

《OpenCV计算机视觉开发实践:基于Python》

本书内容

OpenCV是一个跨平台计算机视觉和机器学习软件库,也是计算机视觉领域的开发人员必须掌握的技术。《OpenCV计算机视觉开发实践:基于Python》基于Python 3.8全面系统地介绍OpenCV 4.10的使用,并配套示例源代码、开发环境、PPT课件、配书PDF文件与作者答疑服务

《OpenCV计算机视觉开发实践:基于Python》共20章,主要内容包括计算机视觉概述、OpenCV的Python开发环境搭建、OpenCV基本操作、数组矩阵、图像处理模块、灰度变换和直方图修正、图像平滑、几何变换、图像边缘检测、图像分割、图像金字塔、图像形态学、视频处理,以及停车场车牌识别、目标检测、数字水印、图像加密和解密、物体计数、图像轮廓和手势识别等案例。

本书作者

朱文伟,名校计算机专业统招硕士,20多年C\C++、Java开发经验。主导开发过密码、图形、人工智能等产品。精通Linux、Windows系统开发及数据库开发技术。著有图书《OpenCV计算机视觉开发实践:基于Qt C++》《OpenCV计算机视觉开发实践:基于Python》《Linux C与C++一线开发实践(第2版)》《Rust编程与项目实战》《嵌入式Linux驱动开发实践》《高性能Linux网络编程核心技术揭秘》《Linux C/C++服务器开发实践》《Qt 6.x从入门到精通》《PyQt 5从入门到精通》《Linux C与C++ 一线开发实践》《Visual C++2017从入门到精通》《Windows C/C++加密解密实战》《密码学原理与Java实现》《OpenCV 4.5计算机视觉开发实战(基于VC++)》《OpenCV 4.5计算机视觉开发实战:基于Python》。

本书读者

《OpenCV计算机视觉开发实践:基于Python》既适合OpenCV初学者、计算机视觉与图像处理应用开发人员、人工智能算法开发人员阅读,也适合作为高等院校或高职高专院校计算机视觉与图像处理、人工智能等相关专业的教学参考书

本书目录

第 1 章  计算机视觉概述1

1.1  图像的基本概念1

1.1.1  图像和图形1

1.1.2  数字图像及其特点2

1.1.3  图像单位2

1.1.4  图像分辨率与屏幕分辨率3

1.1.5  图像的灰度与灰度级3

1.1.6  图像的深度4

1.1.7  二值图像、灰度图像与彩色图像4

1.1.8  通道5

1.1.9  图像存储5

1.2  图像噪声5

1.2.1  图像噪声的定义5

1.2.2  图像噪声的来源6

1.2.3  图像噪声的滤除6

1.3  图像处理7

1.3.1  图像处理的分类7

1.3.2  数字图像处理8

1.3.3  数字图像处理常用方法9

1.3.4  图像处理的应用11

1.4  计算机视觉概述12

1.4.1  基本概念12

1.4.2  计算机视觉的应用13

1.4.3  与相关学科的区别14

1.5  OpenCV概述15

第 2 章  OpenCV的Python开发环境搭建18

2.1  Python下载与安装18

2.2  在线安装与卸载opencv-python20

2.2.1  在线安装opencv-python20

2.2.2  卸载opencv-python24

2.3  离线安装opencv-python24

2.3.1  下载离线版opencv-python25

2.3.2  离线安装NumPy和Matplotlib库25

2.3.3  离线安装opencv-python25

2.4  使用集成开发环境PyCharm26

2.4.1  PyCharm的下载和安装26

2.4.2  了解PyCharm的虚拟环境32

2.4.3  在PyCharm下开发OpenCV程序34

2.4.4  调试Python程序35

2.5  测试一下NumPy的数学函数36

第 3 章  OpenCV基本操作37

3.1  OpenCV架构37

3.2  图像输入/输出模块imgcodecs39

3.2.1  读取图像文件39

3.2.2  得到读取的图片的高度和宽度42

3.2.3  imwrite保存图片42

3.3  OpenCV界面编程44

3.4  单窗口显示多图片45

3.5  销毁窗口47

3.6  调整窗口大小48

3.7  鼠标事件49

3.8  键盘事件52

3.9  滑动条事件53

第 4 章  数组矩阵56

4.1  NumPy概述56

4.2  ndarray对象57

4.3  NumPy的数据类型59

4.4  数组属性61

4.5  新建数组63

4.6  通过已有的数组创建数组65

4.7  通过数值范围创建数组66

4.8  切片和索引67

4.9  高级索引69

4.9.1  整数数组索引69

4.9.2  布尔索引70

4.9.3  花式索引71

4.10  迭代数组72

4.10.1  迭代器对象nditer72

4.10.2  控制遍历顺序73

4.10.3  修改数组中元素的值73

4.10.4  使用外部循环74

4.10.5  广播迭代74

4.11  数组操作75

4.11.1  修改数组形状75

4.11.2  翻转数组77

第 5 章  图像处理模块81

5.1  颜色变换cvtColor81

5.2  画基本图形82

5.2.1  画点82

5.2.2  画矩形83

5.2.3  画圆83

5.2.4  画椭圆84

5.2.5  画线段86

5.2.6  画多边形86

5.2.7  填充多边形87

5.3  文字绘制89

5.4  为图像添加边框91

5.5  在图像中查找轮廓93

第 6 章  灰度变换和直方图修正95

6.1  点运算95

6.1.1  点运算的基本概念95

6.1.2  点运算的目标与分类96

6.1.3  点运算的特点和应用96

6.2  灰度变换97

6.2.1  灰度变换的基本概念97

6.2.2  灰度变换的作用97

6.2.3  灰度变换的方法98

6.2.4  灰度化98

6.2.5  对比度101

6.2.6  灰度的线性变换102

6.2.7  分段线性变换104

6.2.8  对数变换和反对数变换106

6.2.9  幂律变换107

6.3  直方图修正109

6.3.1  直方图的概念109

6.3.2  直方图均衡化112

第 7 章  图像平滑117

7.1  图像平滑基础117

7.2  线性滤波119

7.2.1  归一化方框滤波器119

7.2.2  高斯滤波器120

7.3  非线性滤波124

7.3.1  中值滤波124

7.3.2  双边滤波125

第 8 章  几何变换127

8.1  几何变换基础127

8.2  图像平移130

8.3  图像旋转131

8.4  仿射变换134

8.5  图像缩放136

8.5.1  缩放原理136

8.5.2  OpenCV中的缩放137

第 9 章  图像边缘检测139

9.1  概述139

9.2  边缘检测研究的历史现状141

9.3  边缘定义及类型分析142

9.4  梯度的概念144

9.5  图像边缘检测的应用144

9.6  目前边缘检测存在的问题146

9.7  边缘检测的基本思想147

9.8  图像边缘检测的步骤147

9.9  经典图像边缘检测算法149

9.9.1  Roberts算子150

9.9.2  Sobel算子边缘检测151

9.9.3  Prewitt算子边缘检测153

9.9.4  LoG边缘检测算子155

9.9.5  边缘检测的最新技术与方法158

第 10 章  图像分割161

10.1  图像分割概述161

10.2  图像分割技术现状162

10.3  图像分割的应用163

10.4  图像分割的数学定义164

10.5  图像分割方法的分类165

10.5.1  基于阈值化的分割方法165

10.5.2  基于边缘的分割方法166

10.5.3  基于区域的分割方法167

10.5.4  基于神经网络的分割方法169

10.5.5  基于聚类的分割方法169

10.6  使用OpenCV进行图像分割170

10.7  彩色图像分割175

10.8  grabCut算法分割图像177

10.8.1  基本概念177

10.8.2  grabCut函数179

10.9  floodFill漫水填充分割183

10.9.1  基本概念183

10.9.2  floodFill函数183

10.10  分水岭分割法185

10.10.1  基本概念186

10.10.2  距离变换函数distanceTransform189

10.10.3  区域标记函数connectedComponents191

10.10.4  分水岭函数wathershed192

第 11 章  图像金字塔195

11.1  基本概念195

11.2  高斯金字塔196

11.2.1  向下采样197

11.2.2  向上采样198

11.3  拉普拉斯金字塔200

第 12 章  图像形态学202

12.1  图像形态学基本概念202

12.2  形态学的应用202

12.3  数学上的形态学203

12.3.1  拓扑学203

12.3.2  数学形态学的组成与操作分类204

12.3.3  数学形态学的应用204

12.4  结构元素205

12.5  膨胀205

12.6  腐蚀207

12.7  开运算209

12.8  闭运算210

12.9  实现腐蚀和膨胀211

12.10  实现开闭运算和顶帽/黑帽215

12.11  用形态学运算检测边缘219

12.12  击中击不中220

12.13  利用形态学运算提取水平线和垂直线223

第 13 章  视频处理225

13.1  OpenCV视频处理架构225

13.2  捕获视频类VideoCapture226

13.2.1  构造VideoCapture对象226

13.2.2  判断打开视频是否成功227

13.2.3  读取视频帧227

13.2.4  播放视频文件228

13.2.5  获取和设置视频属性230

13.2.6  播放摄像头视频232

第 14 章  停车场车牌识别案例实战235

14.1  需求分析235

14.2  技术可行性分析236

14.2.1  国外技术分析236

14.2.2  国内技术分析238

14.2.3  车牌识别技术的难点239

14.2.4  车牌识别系统概述239

14.3  车牌定位技术240

14.3.1  车牌特征概述240

14.3.2  车牌定位方法241

14.3.3  车牌图像预处理245

14.3.4  车牌图像的灰度化245

14.3.5  车牌图像的直方图均衡化247

14.3.6  车牌图像的滤波248

14.3.7  车牌图像的二值化249

14.3.8  车牌图像的边缘检测249

14.3.9  车牌图像的灰度映射250

14.3.10  车牌图像的改进型投影法定位250

14.4  车牌字符分割技术252

14.4.1  常用车牌字符分割算法252

14.4.2  车牌倾斜问题254

14.4.3  车牌倾斜度检测方法254

14.4.4  车牌倾斜的校正方法255

14.4.5  车牌边框和铆钉的去除255

14.4.6  车牌字符分割255

14.4.7  基于垂直投影和先验知识的车牌字符分割256

14.4.8  粘连车牌字符的分割257

14.4.9  断裂车牌字符的合并257

14.4.10  对车牌字符的切分结果进行确认258

14.5  车牌字符识别技术259

14.5.1  模式识别259

14.5.2  字符识别260

14.5.3  汉字识别270

第 15 章  OpenCV目标检测286

15.1  目标检测概述286

15.2  目标检测的基本概念288

15.3  视频序列图像预处理290

15.4  基于深度学习的运动目标检测291

15.4.1  YOLO运动目标检测算法292

15.4.2  YOLOv2概述296

15.4.3  YOLOv3概述297

15.4.4  实战YOLOv3识别物体299

15.4.5  SSD运动目标检测算法309

15.4.6  实战SSD312

15.4.7  实战人脸检测314

第 16 章  数字水印319

16.1  基本概念319

16.1.1  数字水印的概念319

16.1.2  数字水印的特点320

16.2  数字水印原理320

16.2.1  嵌入过程321

16.2.2  提取过程321

16.3  相关函数321

16.3.1  cv2.bitwise_and函数322

16.3.2  cv2.bitwise_or函数323

16.4  代码实现数字水印324

第 17 章  图像加密和解密326

17.1  图像加密和解密原理326

17.2  相关函数327

17.3  代码实现图像加解密328

第 18 章  物体计数330

18.1  基本原理330

18.2  相关函数330

18.3  代码实现药片计数332

第 19 章  图像轮廓335

19.1  基本概念335

19.2  应用场景336

19.3  OpenCV中的轮廓函数336

19.3.1  查找轮廓findContours336

19.3.2  轮廓的基本属性337

19.3.3  绘制轮廓drawContours338

19.3.4  求轮廓面积contourArea338

19.4  实战轮廓函数339

19.5  实战黑白翻转341

第 20 章  手势识别343

20.1  概述343

20.2  NumPy中的ndarray343

20.2.1  NumPy是什么344

20.2.2  ndarray的概念344

20.2.3  ndarray的特点345

20.2.4  NumPy数组的优势345

20.2.5  内存中的ndarray对象345

20.2.6  ndarray数组对象的创建346

20.2.7  ndarray的重要属性351

20.2.8  数组的轴和轴的长度352

20.3  凸包和凸包检测355

20.4  凸缺陷及其应用360

20.4.1  查找凸包和凸缺陷的示例361

20.4.2  凸缺陷的应用363

20.5  手势识别原理364

20.6  区分手势0和手势1365

20.7  区分手势1到手势5367

本书特色

本文摘自《OpenCV计算机视觉开发实践:基于Python》,获出版社和作者授权发布。

链接:OpenCV计算机视觉开发实践:基于Python_jdhttps://item.jd.com/14972606.html#none

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

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

相关文章

PyTorch 深度学习实战(24):分层强化学习(HRL)

一、分层强化学习原理 1. 分层学习核心思想 分层强化学习(Hierarchical Reinforcement Learning, HRL)通过时间抽象和任务分解解决复杂长程任务。核心思想是: 对比维度传统强化学习分层强化学习策略结构单一策略直接输出动作高层策略选择选…

Spring Boot整合Spring Data JPA

Spring Data作为Spring全家桶中重要的一员,在Spring项目全球使用市场份额排名中多次居前位,而在Spring Data子项目的使用份额排名中,Spring Data JPA也一直名列前茅。Spring Boot为Spring Data JPA提供了启动器,使Spring Data JPA…

Oracle归档配置及检查

配置归档位置到 USE_DB_RECOVERY_FILE_DEST,并设置存储大小 startup mount; !mkdir /db/archivelog ALTER SYSTEM SET db_recovery_file_dest_size100G SCOPEBOTH; ALTER SYSTEM SET db_recovery_file_dest/db/archivelog SCOPEBOTH; ALTER SYSTEM SET log_archive…

Four.meme是什么,一篇文章读懂

一、什么是Four.meme? Four.meme 是一个运行在 BNB 链的去中心化平台旨在为 meme 代币供公平启动服务。它允许用户以极低的成本创建和推出 meme 代币,无需预售或团队分配,它消除了传统的预售、种子轮和团队分配,确保所有参与者有…

Java 集合 List、Set、Map 区别与应用

一、核心特性对比 二、底层实现与典型差异 ‌List‌ ‌ArrayList‌:动态数组结构,随机访问快(O(1)),中间插入/删除效率低(O(n))‌‌LinkedList‌:双向链表结构,头尾操作…

欢迎来到未来:探索 Dify 开源大语言模型应用开发平台

欢迎来到未来:探索 Dify 开源大语言模型应用开发平台 如果你对 AI 世界有所耳闻,那么你一定听说过大语言模型(LLM)。这些智能巨兽能够生成文本、回答问题、甚至编写代码!但是,如何将它们变成真正的实用工具…

python多线程和多进程的区别有哪些

python多线程和多进程的区别有七种: 1、多线程可以共享全局变量,多进程不能。 2、多线程中,所有子线程的进程号相同;多进程中,不同的子进程进程号不同。 3、线程共享内存空间;进程的内存是独立的。 4、同一…

【MySQL报错】:Column count doesn’t match value count at row 1

MySQL报错:Column count doesn’t match value count at row 1 意思是存储的数据与数据库表的字段类型定义不相匹配. 由于类似 insert 语句中,前后列数不等造成的 主要有3个易错点: 要传入表中的字段数和values后面的值的个数不相等。 由于类…

PostgreSQL 连接数超限问题

目录标题 **PostgreSQL 连接数超限问题解决方案****一、错误原因分析****二、查看连接数与配置****三、排查连接泄漏(应用侧问题)****四、服务侧配置调整****1. 调整最大连接数****2. 释放无效连接(谨慎操作)****3. 使用连接池工具…

2025最新-智慧小区物业管理系统

目录 1. 项目概述 2. 技术栈 3. 功能模块 3.1 管理员端 3.1.1 核心业务处理模块 3.1.2 基础信息模块 3.1.3 数据统计分析模块 3.2 业主端 5. 系统架构 5.1 前端架构 5.2 后端架构 5.3 数据交互流程 6. 部署说明 6.1 环境要求 6.2 部署步骤 7. 使用说明 7.1 管…

智能汽车图像及视频处理方案,支持视频智能包装能力

美摄科技的智能汽车图像及视频处理方案,通过深度学习算法与先进的色彩管理技术,能够自动调整图像中的亮度、对比度、饱和度等关键参数,确保在各种光线条件下,图像都能呈现出最接近人眼的自然色彩与细节层次。这不仅提升了驾驶者的…

React - LineChart组件编写(用于查看每日流水图表)

一、简单版本 LineChart.tsx // src/component/LineChart/LineChart.tsx import React, {useEffect,useRef,useImperativeHandle,forwardRef,useMemo,useCallback, } from react; import * as echarts from echarts/core; import type { ComposeOption } from echarts/core; …

Web前端考核 JavaScript知识点详解

一、JavaScript 基础语法 1.1 变量声明 关键字作用域提升重复声明暂时性死区var函数级✅✅❌let块级❌❌✅const块级❌❌✅ 1.1.1变量提升的例子 在 JavaScript 中,var 声明的变量会存在变量提升的现象,而 let 和 const 则不会。变量提升是指变量的声…

使用 Go 构建 MCP Server

一个互联网技术玩家,一个爱聊技术的家伙。在工作和学习中不断思考,把这些思考总结出来,并分享,和大家一起交流进步。 一、MCP 介绍 1. 基本介绍 MCP(Model Context Protocol,模型上下文协议)是…

CES Asia 2025赛逸展:科技浪潮中的创新与商贸盛会

在科技发展日新月异的当下,CES Asia 2025第七届亚洲消费电子技术贸易展(赛逸展)正积极筹备,将在北京举办,有望成为亚洲消费电子领域极具影响力的年度盛会。作为亚洲科技领域的重要展会,此次得到了数十家电子…

Windows桌面采集技术

在进入具体的方式讨论前,我们先看看 Windows 桌面图形界面的简化架构,如下图: 在 Windows Vista 之前,Windows 界面的复合画面经由 Graphics Device Interface(以下简称 GDI)技术直接渲染到桌面上。 在 Wi…

ElementPlus 快速入门

目录 前言 为什么要学习 ElementPlus? 正文 步骤 1 创建 一个工程化的vue 项目 ​2 安装 element-Plus :Form 表单 | Element Plus 1 点击 当前界面的指南 2 点击左边菜单栏上的安装,选择包管理器 3 运行该命令 demo(案例1 ) 步骤 …

[蓝桥杯 2023 省 A] 异或和之和

题目来自洛谷网站&#xff1a; 暴力思路&#xff1a; 先进性预处理&#xff0c;找到每个点位置的前缀异或和&#xff0c;在枚举区间。 暴力代码&#xff1a; #include<bits/stdc.h> #define int long long using namespace std; const int N 1e520;int n; int arr[N…

python学习笔记--实现简单的爬虫(二)

任务&#xff1a;爬取B站上最爱欢迎的编程课程 网址&#xff1a;编程-哔哩哔哩_bilibili 打开网页的代码模块&#xff0c;如下图&#xff1a; 标题均位于class_"bili-video-card__info--tit"的h3标签中&#xff0c;下面通过代码来实现&#xff0c;需要说明的是URL中…

windows清除电脑开机密码,可保留原本的系统和资料,不重装系统

前言 很久的一台电脑没有使用了&#xff0c;开机密码忘了&#xff0c;进不去系统 方法 1.将一个闲置u盘设置成pe盘&#xff08;注意&#xff0c;这个操作会清空原来u盘的数据&#xff0c;需要在配置前将重要数据转移走&#xff0c;数据无价&#xff0c;别因为配置这个丢了重…