当前位置: 首页 > news >正文

EmguCV学习笔记 VB.Net和C# 下的OpenCv开发 C# 目录

 版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。

教程VB.net版本请访问:EmguCV学习笔记 VB.Net 目录-CSDN博客

教程C#版本请访问:EmguCV学习笔记 C# 目录-CSDN博客

笔者的博客网址:https://blog.csdn.net/uruseibest

教程配套文件及相关说明以及如何获得pdf教程和代码,请移步:EmguCV学习笔记

学习VB.Net知识,请移步: vb.net 教程 目录_vb中如何用datagridview-CSDN博客

 学习C#知识,请移步:C# 教程 目录_c#教程目录-CSDN博客

目录
目录    1
前言    7
参考文献    7
第1章 EmguCV    8
1.1 EmguCV    8
1.1.1 OpenCV    8
1.1.2 EmguCV简介    8
1.2 EmguCV安装    8
第2章 图像操作    16
2.1 颜色空间和颜色    16
2.1.1 颜色空间    17
2.2.2 颜色    18
2.2 Matrix类    18
2.2.1 构造函数    18
2.2.2 获取Matrix元素的值    23
2.2.3 Matrix的拆分    25
2.2.4 Matrix的运算    26
2.2.4.1 加法    26
2.2.4.2 减法    29
2.2.4.3 乘法    32
2.2.4.4 除法    35
2.2.4.5 Not运算    36
2.2.5 Matrix拼接    37
2.2.6 随机矩阵    38
2.2.7 最大值和最小值    39
2.2.8 类型转换    40
2.2.9 获得指定范围的子矩阵    41
2.2.10 其他方法    42
2.3 Mat类    42
2.3.1 构造函数    45
2.3.2 给Mat元素赋值    50
2.3.3 读取Mat元素的值    50
2.3.4 修改Mat元素的值    53
2.3.5 Mat的克隆    54
2.3.6 获得子Mat    56
2.3.7 修改Mat的深度    59
2.3.8 最大值和最小值    60
2.3.9 Mat的运算    61
2.3.9.1 加法    61
2.3.9.2 减法    62
2.3.9.3 乘法    63
2.3.9.4 除法    64
2.3.9.5 And运算    66
2.3.9.6 Or运算    67
2.3.9.7 Xor运算    68
2.3.9.8 Not运算    69
2.3.10 载入并显示图像    70
2.3.11 图像通道的分离与合并    71
2.4 Image类    73
2.4.1 构造函数    74
2.4.2 设置图像颜色    76
2.4.3 图像的副本    79
2.4.4 图像的运算    81
2.4.4.1 加法    81
2.4.4.2 减法    84
2.4.4.3 乘法    86
2.4.4.4 Xor和And运算    87
2.4.5 常用方法    89
2.4.5.1 Convert    89
2.4.5.2 ThresholdBinary    90
2.4.5.2 ThresholdBinaryInv    91
2.4.5.3 Canny    92
2.4.5.4 SmoothBlur    94
2.4.5.5 SmoothGaussian    95
2.5 Mat类、Matrix类和Image类的相互转换    96
2.5.1 Image到Mat的转换    97
2.5.2 Matrix转Mat    99
2.5.3 Image转Matrix    99
2.5.4 Mat转Matrix    101
2.5.5 Image转Bitmap    102
2.5.6 Bitmap转Image    103
2.5.7 Mat转Bitmap    104
2.5.8 Bitmap转Mat    105
2.6 IInputArray和IOutputArray接口    107
2.S 特别示例    107
2.S.1 生成随机值图像    108
2.S.2 图像加密    111
2.S.3 文字纹理    118
2.S.4 图像水印    120
第3章 图形绘制    123
3.1 直线    123
3.2 矩形    125
3.3 圆形    126
3.4 椭圆    127
3.5 多边形    130
3.6 旋转矩形    131
3.7 三角形    133
3.8 文字    134
第4章 图像处理    137
4.1 颜色变换    137
4.2 二值化    139
4.2.1 Threshold    139
4.2.2 AdaptiveThreshold    141
4.2.3 图像通道分离和合并    143
4.2.4 按颜色分离    144
4.3 卷积操作    146
4.3.1 BorderType    146
4.3.2 Blur    147
4.3.3 MedianBlur    149
4.3.4 GaussianBlur    150

4.3.5 BilateralFilter    151
4.3.6 BoxFilter    153
4.3.7 Filter2D   154
4.4 图像形态学    156
4.4.1 GetStructuringElement    157
4.4.2 Erode    157
4.4.3 Dilate    159
4.4.4 MorphologyEx    162
4.5 像素距离和连通区域    167
4.5.1 DistanceTransform 像素距离    167
4.5.2 connectedComponents 图像连通区域    169
4.5.3 connectedComponentsWithStats    172
第5章 图像变换    174
5.1 基本变换    174
5.1.1图像拼接    174
5.1.2 Rotate旋转    177
5.1.3 缩放    178
5.1.4 翻转Flip    181
5.2 仿射变换    182
5.2.1 warpAffine    183
5.2.2 GetAffineTransform    185
5.2.3 GetRotationMatrix2D    189
5.3 透视变换    190
5.3.1 GetPerspectiveTransform    191
5.3.2 WarpPerspective    191
5.3.3 PerspectiveTransform    193
5.4 图像修复    195
第6章 形状操作    198
6.1 边缘检测    198
6.1.1 Soble    199
6.1.2 Laplacian    200
6.1.3 Canny    202
6.2 轮廓处理    203
6.2.1 VectorOfPoint    203
6.2.2 VectorOfVectorOfPoint    204
6.2.3 轮廓查找FindContours    204
6.2.4 轮廓绘制DrawContours    205
6.2.5 轮廓面积 ContourArea    208
6.2.6 轮廓周长 ArcLength    210
6.3 轮廓外接多边形    212
6.3.1 最大外接矩形BoundingRectangle    212
6.3.2 最小外接矩形minAreaRect    212
6.3.3 多边形逼近ApproxPolyDP    215
6.3.4 最小外接圆MinEnclosingCircle    217
6.3.5 最小外接三角形MinEnclosingTriangle    217
6.3.6 拟合椭圆FitEllipse    218
6.3.7 拟合直线FitLine    219
6.3.8 最短距离pointPolygonTest    221
6.4 霍夫变换    228
6.4.1 HoughLines    229
6.4.2 HoughLinesP    232
6.4.3 HoughCircles    234
6.5 凸包和凸缺陷    236
6.5.1 凸包检测ConvexHull    237
6.5.2 凸缺陷 ConvexityDefects    238
6.6 图像的矩    241
6.6.1 矩    Moments    242
6.6.2 Hu矩    244
6.6.3 形状匹配    246
第7章 特征点检测与匹配    253
7.1 角点检测    259
7.1.1 ConvertScaleAbs    259
7.1.2 Normalize    260
7.1.3 CornerHarris    261
7.1.4 CornerSubPix    263
7.2 特征点检测    268
7.2.1 Features2DToolbox类    268
7.2.1.1 DrawKeypoints    268
7.2.1.2 DrawMatches    269
7.2.1.3 VoteForUniqueness    270
7.2.1.4 VoteForSizeAndOrientation    270
7.2.1.5 GetHomographyMatrixFromMatchedFeatures    271
7.2.2 SIFT类    272
7.2.3 BFMatcher类    275
7.2.3.1 Match    275
7.2.3.2 knnMatch    279
7.2.4 Feature2D命名空间    285
第8章 图像分割    287
8.1 漫水填充法 floodFill    287
8.2 分水岭法 watershed    292
8.3 Grabcut法    296
8.4 pyrMeanShiftFiltering    302
第9章 视频操作    303
9.1 VideoCapture类    304
9.1.1 构造函数    304
9.1.2 Get和Set方法    306
9.1.3 Retrieve、Read和Queryframe方法    307
9.1.4 Start、Stop和Pause方法    313
9.1.5 ImageGrabbed事件    313
9.2 VideoWriter类    317
9.2.1 构造函数    317
9.2.2 Fourcc方法    318
9.2.3 Write方法    318
9.3 移动检测类    326
9.3.1 Emgu.CV.BgSegm命名空间    326
9.3.1.1 BackgroundSubtractorMOG    328
9.3.1.2 BackgroundSubtractorCNT    332
9.3.1.3 BackgroundSubtractorGMG    333
9.3.1.4 BackgroundSubtractorGSOC    334
9.3.1.5 BackgroundSubtractorLSBP    334
9.3.2 BackgroundSubtractorMOG2类    335
9.3.3 BackgroundSubtractorKNN    339
9.4 MotionHistory类    341
第10章 人脸识别    345
10.1 人脸检测 CascadeClassifier类    345
10.2 人脸识别 FaceRecgnizer类    351
10.2.1 LBPHFaceRecgnizer类    351
10.2.2 BasicFaceRecognizer    356
10.2.2.1 EigenFaceRecgnizer类    356
10.2.2.2 FisherFaceRecognizer    357
第11章 DNN(Deep Neural Network)    357
11.1 DnnInvoke类    358
11.2 推理流程    358
11.3 DNN其它    362
11.4 图像分类    364
11.5 目标检测    367
11.5.1 Yolo    367
11.5.2 SSD    371
11.6 图像分割    375
11.6.1 语义分割Fcn    375
11.6.2 实例分割 MASK RCNN    379
11.7 风格迁移    384
11.8 人脸检测    387
11.9 姿势识别 OpenPose    393
第12章 其他技术    404
12.1 二维码解析    404
12.2 WeChatQRCode    407
12.3 OCR    410 

相关文章:

EmguCV学习笔记 VB.Net和C# 下的OpenCv开发 C# 目录

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…...

探索TensorFlow:深度学习的未来

标题:探索TensorFlow:深度学习的未来 在当今快速发展的人工智能领域,TensorFlow无疑是最耀眼的明珠之一。TensorFlow是由Google Brain团队开发的一个开源机器学习框架,它以其强大的灵活性、易用性和高效的性能,迅速成…...

探索地理空间分析的新世界:Geopandas的魔力

文章目录 探索地理空间分析的新世界:Geopandas的魔力背景:为何选择Geopandas?这个库是什么?如何安装这个库?五个简单的库函数使用方法场景应用:Geopandas在实际工作中的应用常见bug及解决方案总结 探索地理…...

如何为网站申请免费SSL证书?

一、准备阶段 确定证书类型: 对于大多数个人博客和小型企业网站,DV(域名验证)SSL证书已足够使用,因为它仅验证域名所有权,成本较低且验证快速。准备域名: 确保你拥有一个有效的域名&#xff0c…...

Java项目集成RocketMQ

文章目录 1.调整MQ的配置1.进入bin目录2.关闭broker和namesrv3.查看进程确认关闭4.编辑配置文件broker.conf,配置brokerIP15.开放端口109116.重新启动1.进入bin目录2.启动mqnamesrv和mqbroker1.启动 NameServer 并将输出重定向到 mqnamesrv.log2.**启动 Broker 并将…...

如何将 Bamboo agent 能力迁移到极狐GitLab tag 上?

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitL…...

正则表达式入门:Python ‘ re ‘ 模块详解

正则表达式(Regular Expression,简称 re)是一种强大而灵活的工具,广泛用于字符串匹配、替换和分割等操作,尤其在处理网页爬虫数据时非常有用。Python 提供了 " re " 模块来支持正则表达式的使用,…...

thinkphp8.0+aliapy(支付宝)pc网站支付

环境&#xff1a;宝塔-centOS8.5,php8.3 第一步&#xff1a;安装alipay v3版本的安装依赖包&#xff1b; composer require alipaysdk/openapi:dev第二步&#xff1a;根据官方文档,把支付相关的类引用进来&#xff1b; <?php declare (strict_types 1);namespace app\p…...

高速信号的眼图、加重、均衡

目录 高速信号的眼图、加重、均衡眼图加重均衡线性均衡器CTLE判决反馈均衡器DFE 高速信号的眼图、加重、均衡 眼图 通常用示波器观察接收信号波形的眼图来分析码间串扰和噪声对系统性能的影响&#xff0c;从而估计系统优劣程度&#xff0c;因而眼图分析是高速互连系统信号完整…...

2024年PMP考前冲刺必背的学习笔记,整理好给你!

项目的四大特点:临时性、独特性、变革驱动性和创造商业价值。 项目管理&#xff1a;将知识、技能、工具与技术应用于项目活动&#xff0c;以满足项目的要求 Pestle&#xff1a;P政治&#xff0c;E经济&#xff0c;S社会&#xff0c;T技术&#xff0c;L法律&#xff0c;E环境 …...

增加服务器带宽可以提高资源加载速度吗?

答案是可以的 &#xff0c;增加服务器带宽通常能够提高资源加速速度。带宽是服务器与互联网之间传输数据的速率&#xff0c;它决定了在单位时间内可以传输的数据量。以下是增加带宽如何提高资源加速速度的几个方面&#xff1a; 1.更快的数据传输&#xff1a;带宽增加后&#xf…...

汽车EDI: NAVISTAR EDI对接

Navistar International Corporation 是一家美国商用车辆制造公司&#xff0c;总部位于伊利诺伊州的Lisle。公司以生产中型和重型卡车、公共汽车、柴油发动机和底盘闻名&#xff0c;其产品广泛应用于运输、建筑、和农业等行业。Navistar 的历史可以追溯到1831年&#xff0c;由国…...

【Word多级标题完整设置】设置各级标题样式将多级列表链接到各级标题样式中

Word多级标题完整设置 一、设置各级标题样式主标题样式设置中英文字体、字形以及字号设置段落设置&#xff08;缩进、间距和行距&#xff09; 一级标题样式设置中英文字体、字形以及字号设置段落设置&#xff08;缩进、间距和行距&#xff09; 二级标题样式设置中英文字体、字形…...

不同分辨率下vue页面的高度自适应

1. 使用视口单位 .element { height: 100vh; /* 使得元素高度等于视口高度的100% */ /* 可以减去一部分高度以适应页眉或页脚 */ height: calc(100vh - 100px); } 2. 使用百分比&#xff08;%&#xff09;高度 .parent { height: 100vh; /* 父元素高度等于视口高度 */…...

“野生钢铁侠 “ 稚晖君一连亮出5 款智元人形机器人,地表最强!

打麻将、拆快递、纽扣穿针&#xff0c;还能做 30KG 重物提拉&#xff01; 沉寂一年&#xff0c;稚晖君带着他的二代机器人全家桶重磅回归&#xff0c;秀出的各种新技能令人眼前一亮。 智东西 8 月 18 日报道&#xff0c;今日&#xff0c;" 野生钢铁侠 " 稚晖君一连亮…...

JSON Web Token (JWT): 理解与应用

JWT&#xff08;JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;它定义了一种紧凑且自包含的方式&#xff0c;用于在各方之间以JSON对象的形式安全地传输信息。JWT通常用于身份验证和授权目的&#xff0c;因为它可以使用JSON对象在各方…...

LeetCode面试题Day12|LC209 长度最小的子数组、LC30 串联所有单词的子串

题目一&#xff1a; 指路&#xff1a; . - 力扣&#xff08;LeetCode&#xff09;209 长度最小的子数组 思路与分析&#xff1a; 滑动窗口&#xff0c;目的在于降低算法的时间复杂度&#xff0c;每次只维护一定长度的数组而非原数组的全部元素。那么既然需要长度&#xff0…...

【开端】JAVA泛型类的使用

一、这是一个类 public class CommonVo<D extends CommonDao> implements Serializable { 我们来探讨一样 CommonVo<D extends CommonDao> 这个尖括号里到底能写啥。 首先这是一个泛型类型D &#xff0c;D类继承了CommonDao&#xff0c;说明尖括号里只要放入一…...

mp3转换器免费有哪些?6个音频转换器助你一键转换各种音频

音乐如同生活的调味剂&#xff0c;让每一个平凡瞬间都跃动着不凡的旋律。 但有时候&#xff0c;当你想把这些歌曲放到你的设备上时&#xff0c;却发现格式不兼容&#xff0c;无法播放。 别担心&#xff01;接下来&#xff0c;我们将介绍几款免费mp3转换工具&#xff0c;它们能…...

力扣爆刷第174天之TOP200五连刷136=140(最小k数、字典序、跳跃游戏)

力扣爆刷第174天之TOP200五连刷136140&#xff08;最小k数、字典序、跳跃游戏&#xff09; 文章目录 力扣爆刷第174天之TOP200五连刷136140&#xff08;最小k数、字典序、跳跃游戏&#xff09;一、LCR 159. 库存管理 III二、450. 删除二叉搜索树中的节点三、440. 字典序的第K小…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...