opencv基础
基础
玖零猴
嵌入式·ROS·CV·ML·DL·医学影像分割
展开
-
opencv2和opencv3之SURF区别
opencv3中SurfFeatureDetector、SurfDescriptorExtractor、BruteForceMatcher的使用opencv2中SurfFeatureDetector、SurfDescriptorExtractor、BruteForceMatcher在opencv3中发生了改变。具体如何完成特征点匹配呢?示例如下://寻找关键点int minHessian = 70...转载 2018-03-01 19:35:56 · 1533 阅读 · 0 评论 -
添加opencv_contrib之后的opencv
之前看过很多文章,他们都是用cmake-gui去重新编译opencv,可是每次操作的时候老是出现这样那样的问题。福利在下面因此我在Robomaster的机器视觉论坛中找到了已经安装好这个第三方库的opencv,直接下下来解压用就好了。点击打开链接进行下载。原创 2018-03-01 09:04:19 · 453 阅读 · 0 评论 -
形态学操作
形态学操作 主要针对二值图像进行处理图像形态学操作是 基于形状的一系列图像处理操作的合集,主要是基于集合论基础上的形态学数学。形态学有四个基本操作:膨胀、腐蚀、开、闭。膨胀与腐蚀是图像处理中最常用的形态学操作手段,常常被组合起来一起使用实现一些复杂的图像形态学操作。膨胀与腐蚀能实现各种各样的功能,主要如下:1、消除噪声。2、分割出独立的图像元素,在图像中连接相邻的元素。3、寻找图像中的明显的极...原创 2018-03-14 10:54:40 · 2204 阅读 · 0 评论 -
图像的模糊
图像模糊操作模糊操作时图像处理中最简单和常用的操作之一,使用该操作的原因之一就为了给图像预处理时减低噪声,二值化、特征提取之前最好要给图像降低噪声。两种常见的噪声:1、椒盐噪声椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声分为两种即胡椒噪声和盐噪声,胡椒噪声是黑色的,属于低灰度噪声,盐噪声是白色的,属于高灰度噪声,一般两种噪声同时出现,呈现在图像上就是黑白杂点。去...原创 2018-03-14 10:53:17 · 673 阅读 · 0 评论 -
绘制形状与文字
Point表示2D平面上的一个点(x,y)1、Point p; p.x = 10; p.y = 8;2、p = Point(10,8);Rect 矩阵类Rect rect(点a,点b);Scalar表示四个元素的向量(不能大于四个,可以是零个)Scalar对象,用来建立颜色对象,初始化通道。例如Scalar color = Scalar(255,0,0); //三通道Scala...原创 2018-03-14 10:52:05 · 231 阅读 · 0 评论 -
调整图像亮度与对比度
调整图像亮度与对比度理论图像变换可以看作如下:-像素变换--->点操作-领域操作--->区域图像的梯度计算、卷积、模式匹配,模糊、平滑等用的是领域操作。然而调整图像亮度和对比度属于像素变换的点操作,以下便是公式:g(i,j) = af(i,j) + b 其中a>0,b是增益变量(RGB图像的像素值一定是大于0)g(i,j) 为输出像素点的像素值f(...原创 2018-03-14 10:51:09 · 363 阅读 · 0 评论 -
图像融合
图像融合 ROI区域和图像混合叠加理论-线性混合操作f0 f1 两张大小和类型相同的图片 融合成gx通过调用以下函数(权重)Void cv::addWeighted(InputArray src1, double alpha, InputArray src...原创 2018-03-14 10:49:54 · 473 阅读 · 0 评论 -
图像操作
图像操作读写像素修改像素值 : 计算程序执行时间 : 处理像素范围读写像素修改像素值 (用函数at<>())opencv中使用vec可表示向量,用于矩阵元素的表达。矩阵元素的表达:对于单通道图像,其元素类型一般为 8U (即 8位无符号整数),当然也可以 是 16S 、32F32F 等;这些类型可以直接用 uchar 、short 、float等 C/C++语言中的基本数据类型表达...原创 2018-03-14 10:48:49 · 338 阅读 · 0 评论 -
Mat
Mat对象面向对象的数据结构数据结构是指数据对象以及该数据对象集合中的数据元素之间的相互关系。包括数据的逻辑结构、数据的存储结构和数据的运算(操作)。例如,队列,栈:线性表 ……数据结构,数据类型,结构类型?数据结构简单点指一个问题中用到的数据的值和关系表现在逻辑上是个什么样子,比如是个图表,还是一条直线,等等,数据类型是指各种数据形态都不一样,比如有的是字母类,有的是整数类,有的是小数类,这些不...原创 2018-03-14 10:46:10 · 249 阅读 · 0 评论 -
矩阵的掩膜操作
矩阵的掩膜操作根据掩膜重新计算每个像素的像素值1、掩膜的定义用选定的图像、图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。用于覆盖的特定图像或物体称为掩模或模板。光学图像处理中,掩模可以是胶片、滤光片等。数字图像处理中,掩模为二维矩阵数组,有时也用多值图像。2、数字图像处理中,图像掩模主要用于:①提取感兴趣区,用预先制作的感兴趣区掩模与待处理图像相乘,得到感兴趣区图...原创 2018-03-14 10:44:09 · 2240 阅读 · 0 评论 -
加载、修改、保存图像
加载、修改、保存图像加载图像(用cv::imread)imread 在不填参数时,默认为RGB图。放回为一个Mat类型的值判断图像是否加载成功Mat src = imread("图片");if(src.empty()){ printf("error read\n");}或者if(!src.data){ printf("error read\n");}显示图像(cv::namedwi...原创 2018-03-14 10:42:34 · 369 阅读 · 0 评论 -
Opencv249在VS中的配置
1、 设置环境变量(bin、lib)--->>系统才能识别到有这个两个变量点击环境变量->系统变量里的path->新建->找到bin->新建->找到lib重启 2、 选择工程的编译环境右键vedio这个工程点击属性->确认你的平台(编译环境)请点击配置管理器(64位操作系统对应X64)(32位操作系统对应X86) 点击下...原创 2018-03-14 10:38:10 · 1194 阅读 · 0 评论