
Opencv学习笔记
文章平均质量分 93
phinoo
这个作者很懒,什么都没留下…
展开
-
15、OpenCV形态学操作——Hit-or-Miss
OpenCV形态学操作——Hit-or-Miss一、学习目标二、Hit-or-Miss一、学习目标理解什么是Hit-or-Miss学会在OpenCV中使用Hit-or-Miss二、Hit-or-Miss形态学算子根据图像的形状来处理图像。这些操作符将一个或多个结构化元素应用于输入图像以获得输出图像。腐蚀和膨胀是两种基本的形态学操作。这两个操作的组合可以产生高级形态学操作,如开运算、闭运算或顶帽、黑帽等。要了解更多关于这些和其他基本形态学操作的信息,请参阅前面的教程。Hit-or-Miss操作原创 2021-01-28 10:03:00 · 8551 阅读 · 1 评论 -
14、OpenCV形态学操作——开运算、闭运算、形态学梯度、顶帽、黑帽
OpenCV形态学操作——开运算、闭运算、形态学梯度、顶帽、黑帽一、学习目标二、各种操作简介三、综合实例一、学习目标理解什么是开运算、闭运算、形态学梯度、顶帽和黑帽学会使用OpenCV实现上述的图像形态学操作使用综合性的例子进行实验二、各种操作简介1、开运算开运算:先腐蚀后膨胀,表达公式为:dst = open(src, element) = dilate(erode(src, element), element)开运算可以用来消除图像中的细小对象(前提是黑色为类背景,类白色为前景),原创 2021-01-27 13:29:48 · 6460 阅读 · 2 评论 -
13、OpenCV形态学操作——膨胀与腐蚀
OpenCV形态学操作——膨胀与腐蚀一、学习目标二、原理简介三、膨胀与腐蚀的综合案例一、学习目标了解膨胀和腐蚀的原理使用OpenCV的相关API实现膨胀和腐蚀膨胀与腐蚀实例二、原理简介1、形态学操作以下部分原理介绍参考博客 友情链接形态学一般指生物学中研究动物和植物结构的一个分支。用数学形态学(也称图像代数)表示以形态为基础对图像进行分析的数学工具。基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。形态学图像处理的数学基础和所用语言是集合论。形原创 2021-01-26 13:46:05 · 6118 阅读 · 0 评论 -
12、OpenCV平滑(模糊)图像
OpenCV平滑(模糊)图像一、学习目标二、平滑理论介绍三、学习四种不同的滤波器四、完整使用实例一、学习目标了解什么是图像的平滑(模糊)学会使用均值模糊、高斯模糊、双边模糊、中值模糊等处理图像动手练习平滑实例二、平滑理论介绍平滑,也叫模糊,是一种简单而常用的图像处理操作。平滑通常可以用来减少噪声(其他用途将在下面的教程中看到)。为了执行平滑操作,我们将对我们的图像应用一个滤波器。最常见的滤波器类型是线性的,输出像素的值(即g(i,j))为输入像素值(即 f(i+k,j+l))的加权和:原创 2021-01-22 10:03:23 · 5227 阅读 · 0 评论 -
11、OpenCV生成随机数、写文字
OpenCV生成随机数、写文字一、学习目标二、使用CV::RNG生成随机数三、在图像上书写文本四、完整代码示例一、学习目标学会使用OpenCV的RNG接口生成随机数学会使用OpenCV在图像上书写文字二、使用CV::RNG生成随机数在之前的教程中,我们绘制了各种几何图形,其输入参数,如坐标(cv::Point的形式)、颜色、粗细等,我们为这些参数指定了特定的值。在本教程中,我们打算为绘图参数使用随机值。此外,我们打算用大量几何图形填充图像。因为我们将以随机方式初始化它们,这个过程将是自动的,并原创 2021-01-20 13:09:47 · 6135 阅读 · 0 评论 -
10、OpenCV绘制几何图形
OpenCV绘制几何图形一、学习目标二、OpenCV中点和颜色标量的表示三、绘制不同的几何形状四、完整代码示例一、学习目标了解点和颜色标量的数据结构对象学会使用OpenCV画直线段学会使用OpenCV画椭圆学会使用OpenCV画矩形学会使用OpenCV画圆学会使用OpenCV画封闭的任意多边形二、OpenCV中点和颜色标量的表示1、点的表示在OpenCV中,cv::Point它表示一个二维点,由其图像坐标x和y指定,我们可以定义为:Point pt;pt.x = 10;pt.y原创 2021-01-19 14:36:07 · 6484 阅读 · 0 评论 -
9、OpenCV使用trackBar
OpenCV使用trackBar一、学习目标二、了解trackBar三、使用实例(调整图像对比度和亮度)一、学习目标了解并学会使用trackBar应用trackBar实例调整图像的对比度和亮度二、了解trackBar在图像处理的教程中,我们经常会涉及到某个参数的调整,从而使图像算法具有不同的效果,调参是图像处理中很重要的一门艺术。为了更方便地和用户进行交互,使得参数的调整和结果的显示更为灵活,OpenCV提供了trackBar这个控件来完成,它类似于窗体应用上的滑块,拖动滑块到不同值,则响应原创 2021-01-18 15:59:19 · 7582 阅读 · 0 评论 -
8、OpenCV调整图像对比度和亮度
OpenCV调整图像对比度和亮度一、学习目标二、原理理解三、对比度、亮度调整四、完整代码示例一、学习目标理解图像对比度和亮度调整的原理对比三种不同亮度和对比度调整方法二、原理理解1、对比度对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,差异范围越小代表对比越小,好的对比率120:1就可容易地显示生动、丰富的色彩,当对比率高达300:1时,便可支持各阶的颜色。但对比率遭受和亮度相同的困境,现今尚无一套有效又公正的标准来衡量对比率,所以最好的辨识原创 2021-01-18 14:11:33 · 26167 阅读 · 1 评论 -
7、OpenCV混合(融合)两张图像
OpenCV混合(融合)两张图像一、学习目标二、图像的线性混合三、两种方法实现图像的线性混合四、完整代码示例五、致谢一、学习目标理解什么是两张图像的混合(融合)使用两种方法实现图像的混合二、图像的线性混合在之前的笔记中,我们已经学会了一些基于像素的基本操作。今天来了解一个有趣的二元(双输入)运算符:图像的线性混合运算符。α从0→1变化,这个运算可以用于在两个图像或视频之间执行交叉融合,就像幻灯片和电影制作中看到的那样。注意:执行线性混合的两张图像必须具有同样的尺寸和数据类型。三、两种方原创 2021-01-14 13:11:44 · 13298 阅读 · 1 评论 -
6、OpenCV掩码矩阵运算Mask
OpenCV掩码矩阵运算Mask一、学习目标二、掩码矩阵运算三、两种解决方案四、完整代码示例五、致谢一、学习目标了解什么是掩码矩阵运算学会2种方法实现掩码矩阵运算使用锐化图像的实例二、掩码矩阵运算矩阵的掩码操作非常简单。这个想法是我们根据掩码矩阵(也称为内核)重新计算图像中的每个像素值。此掩码保存的值将调整相邻像素(和当前像素)对新像素值的影响程度。从数学的观点来看,我们用我们指定的值得到一个加权平均数作为新像素值,可对比计算机视觉中的卷积运算。测试案例假如我们要实现图像得对比度增强。简原创 2021-01-08 13:56:12 · 9777 阅读 · 1 评论 -
5、OpenCV遍历图像像素、查找表和时间效率
OpenCV遍历图像像素、查找表和时间效率一、本节学习目标二、测试案例三、准备工作四、对比三种遍历算法的性能五、使用查找表的方法六、性能分析七、完整代码八、致谢一、本节学习目标学会如何遍历图像的每一个像素弄懂OpenCV矩阵值是如何存储的学会评估和测量算法的性能(使用计时函数)弄清楚什么是查找表并学会使用他们二、测试案例让我们考虑一个简单的颜色量化(减少一个颜色分量如R通道的取值数)方法。通过使用unsigned char C和c++类型来存储矩阵元素,一个像素通道可以有多达256个不同的原创 2021-01-07 13:45:21 · 9413 阅读 · 0 评论 -
4、OpenCV中的Mat类
OpenCV 中的Mat类一、学习目标二、Mat 介绍(建议细读)三、Mat的存储方法四、显示地创建 Mat 对象五、格式化输出 Mat 对象六、其他常见元素的输出七、致谢一、学习目标我们有多种方法从现实世界中获取数字图像:如数码相机、扫描仪、计算机断层摄影术(CT)和磁共振成像等。在任何情况下,我们(人类)看到的都是图像。然而,当将其转换到我们的数字设备时,我们所使用的是图像中每个点的数值(像素值)。例如,在上面的图像中,你可以看到汽车的后视镜只是一个包含所有像素点的强度值(像素值)的矩阵。我们获原创 2021-01-06 15:36:28 · 8391 阅读 · 1 评论 -
3、OpenCV播放视频、保存、暂停视频,打开摄像头
Opencv播放视频、保存、暂停视频,打开摄像头一、加载视频或摄像头二、获取视频帧或摄像头的帧三、循环逻辑控制视频显示四、暂停视频播放和中断视频播放五、视频保存六、完整代码示例七、致谢一、加载视频或摄像头1、原理理解所谓的视频播放,无非就是将一堆有序的图片序列,按照顺序,以一定的间隔显示出来。这个间隔的多少与我们所听到的帧率相关。有了这个意识后,我们其实按照自己的思想都可以实现视频的播放:视频文件是由一帧帧具有先后顺序的图片组成,我们只需要将视频的每一帧按照原有的顺序显示出来即可。为此Opencv提供原创 2021-01-05 10:24:26 · 11867 阅读 · 0 评论 -
2、OpenCV加载、显示、保存图像
Opencv加载、显示、保存图像一、Opencv加载图像二、判断图像是否加载成功三、窗体显示图片四、保存图像五、完整代码示例六、其它关于图像保存的代码例子七、致谢一、Opencv加载图像1、所用函数原型: Mat cv::imread(const String & filename, int flags = IMREAD_COLOR) 功能介绍:函数imread从指定的文件中加载一个图像并返回它。如果图像不能被读取(因为文件丢失、权限不当、不支持原创 2021-01-04 14:49:49 · 12301 阅读 · 1 评论 -
1、Win10环境下载和配置OpenCV
Win10环境下载和配置Opencv最新版一、下载Opencv最新版二、安装下载好的Opencv三、使用VS设置属性四、写C++的验证代码五、致谢一、下载Opencv最新版1、下载链接: Opencv官网地址。打开网址,官网截图如下,点击 release :2、选择合适的Opencv版本,点击进入下载页面:3、单击开始下载。(下载可能遇到链接无法打开或者下载速度很慢等问题,可以百度下载其它用户上传的安装包或者学会科学上网,在此,我上传了一份已经下载好的自解压文件到百度云盘)百度云盘链接: 飞机原创 2021-01-03 16:13:28 · 8706 阅读 · 1 评论