OpenCV 两张图片合并
摘要:原理: 两张图片合并,想想图片是用一个个像素点来存储,每个像素点有他的值。那么合并,无非就是像素点值得合并,使用的公式可以就是给两张图片分别一个权值,然后求和。向下面这个公式: 的值位于0至1之间 OpenCV实现: 那么我们在openCV内怎么实现呢?在openCV中,有一个addWeighted
阅读全文
posted @
2022-02-25 15:04
一杯清酒邀明月
阅读(1803)
推荐(0) 编辑
OpenCV 改变像素颜色
摘要:1 Mat src=imread("image/color.jpg"); 2 imshow("a",src); 3 int i,j; 4 int cPointR,cPointG,cPointB,cPoint;//currentPoint; 5 for(i=1;i<src.rows;i++) 6 fo
阅读全文
posted @
2022-02-25 15:01
一杯清酒邀明月
阅读(479)
推荐(0) 编辑
OpenCVSharp 利用指针实现高速访问像素RGB值
摘要:先简单介绍下什么是OpenCVsharp,内容取自百度百科 OpenCvSharp是一个OpenCV的.Net wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenCV,有详细的使用样例供参考。该库采用LGPL发行,对商业应用友好。使用OpenCvSharp,可用
阅读全文
posted @
2022-02-25 14:56
一杯清酒邀明月
阅读(1109)
推荐(0) 编辑
OpenCV 去噪函数 fastNlMeansDenoising
摘要:CV2.fastNlMeansDenoising(非局部平均去噪) L-Means的全称是:Non-Local Means,直译过来是非局部平均,在2005年由Baudes提出,该算法使用自然图像中普遍存在的冗余信息来去噪声。与常用的双线性滤波、中值滤波等利用图像局部信息来滤波不同的是,它利用了整幅
阅读全文
posted @
2022-02-25 14:52
一杯清酒邀明月
阅读(1425)
推荐(1) 编辑
OpenCV3.4.2与VS2015配置
摘要:1.下载。 官网链接:https://opencv.org/releases.html 如果是32位的,则选择2开头的版本,如果是64位的,则选择3开头的版本。因为现在算法更新比较快,建议用新版本比较好。其中,OpenCV3.3以后不再支持VS2010,OpenCV3.4以后不再支持32位电脑,安装
阅读全文
posted @
2022-02-25 14:47
一杯清酒邀明月
阅读(207)
推荐(0) 编辑
OpenCV 求两点间距离以及点到直线距离函数
摘要:求两点间距离 1 /***** 求两点间距离*****/ 2 float getDistance(CvPoint pointO, CvPoint pointA) 3 { 4 float distance; 5 distance = powf((pointO.x - pointA.x), 2) + p
阅读全文
posted @
2022-02-25 14:38
一杯清酒邀明月
阅读(2093)
推荐(0) 编辑
OpenCV 通过Mat遍历图像的几种方法
摘要:我们在实际应用中对图像进行的操作,往往并不是将图像作为一个整体进行操作,而是对图像中的所有点或特殊点进行运算,所以遍历图像就显得很重要,如何高效的遍历图像是一个很值得探讨的问题。 Color Reduce还是使用经典的Reduce Color的例子,即对图像中的像素表达进行量化。如常见的RGB24图
阅读全文
posted @
2022-02-25 14:22
一杯清酒邀明月
阅读(806)
推荐(1) 编辑
OpenCV 照相机定标和三维重建
摘要:相机模型和变形 这一节里的函数都使用摄像机模型,这就是说,一幅视图是通过透视变换将三维空间中的点投影到图像平面。投影公式如下: 或者 这里(X, Y, Z)是一个点的世界坐标,(u, v)是点投影在图像平面的坐标,以像素为单位。A被称作摄像机矩阵,或者内参数矩阵。(cx, cy)是基准点(通常在图像
阅读全文
posted @
2022-02-25 14:05
一杯清酒邀明月
阅读(1252)
推荐(0) 编辑
OpenCV 轮廓提取findContours和drawContours
摘要:最近用OPENCV的轮廓提取函数,总结一下。 1 void findContours//提取轮廓,用于提取图像的轮廓 2 ( 3 InputOutputArray image,//输入图像,必须是8位单通道图像,并且应该转化成二值的 4 OutputArrayOfArrays contours,//
阅读全文
posted @
2022-02-25 13:30
一杯清酒邀明月
阅读(1535)
推荐(0) 编辑
OpenCV 轮廓填充drawContours函数解析
摘要:函数的调用形式 void drawContours(InputOutputArray image, InputArrayOfArrays contours, int contourIdx, const Scalar& color, int thickness=1, int lineType=8, I
阅读全文
posted @
2022-02-25 13:19
一杯清酒邀明月
阅读(1247)
推荐(1) 编辑
OpenCV contourArea、arcLength 计算轮廓面积与长度
摘要:计算轮廓面积:contourArea 函数 double contourArea(InputArray contour, bool oriented = false); contour,输入的二维点集(轮廓顶点),可以是 vector 或 Mat 类型。 oriented,面向区域标识符。有默认值
阅读全文
posted @
2022-02-24 13:30
一杯清酒邀明月
阅读(1079)
推荐(0) 编辑
OpenCV 张正友相机标定(实现以及标定流程,标定结果评价,图像矫正流程解析)
摘要:使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些? 相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像。 相机标
阅读全文
posted @
2022-02-24 11:29
一杯清酒邀明月
阅读(7914)
推荐(0) 编辑
OpenCV cv::Rect 矩形类用法
摘要:cv::Rect 矩形类用法 1 //如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能: 2 rect.area(); //返回rect的面积 5000 3 rect.size(); //返回rect的尺寸 [50 × 100] 4 rect.tl(
阅读全文
posted @
2022-02-24 10:57
一杯清酒邀明月
阅读(2516)
推荐(0) 编辑
OpenCV 光照矫正代码
摘要:输入: Mat src = imread(“test.jpg”); 直方图均衡化 1 Mat copy1; 2 src.copyTo(copy1); 3 Mat imageRGB[3]; 4 split(copy1, imageRGB); 5 for (int i = 0; i < 3; i++)
阅读全文
posted @
2022-02-23 16:11
一杯清酒邀明月
阅读(432)
推荐(0) 编辑
OpenCV 绘制十字光标
摘要:有时候我们需要在程序中显示一个小十字架,比如在定位跟踪的时候,而OpenCV中并没有现成的函数,因此需要自己写一个,其实也很简单,就是两条相互垂直的直线罢了。 以下给出一个简单的实现方法: 1 /** 2 * 绘制十字 3 * @param[in] img 目标图像 4 * @param[in] p
阅读全文
posted @
2022-02-23 14:40
一杯清酒邀明月
阅读(1058)
推荐(0) 编辑
OpenCV 使用imwrite调整保存的图片质量
摘要:近日在用opencv做一些图像处理的操作时,需要对一些高分辨率的图像进行保存。比如,在操作一个容量为230M的图像后,并对该图像保存为JPG格式后,发现图像容量变为80M了!针对这个问题,忙了大半天,到处翻阅资料,终于知道为什么了。 先举个例子说明自己遇到的问题,为了看出效果,我特意用了一个高分辨率
阅读全文
posted @
2022-01-21 13:36
一杯清酒邀明月
阅读(1527)
推荐(0) 编辑
OpenCV 如何判断图片里某个颜色值占的比例
摘要:一、功能 这里的需求是,判断摄像头有没有被物体遮挡。这里只考虑用手遮挡 >判断黑色颜色的范围。 二、使用OpenCV的Mat格式图片遍历图片 下面代码里,传入的图片的尺寸是640*480,判断黑色范围。 1 /* 2 在图片里查找指定颜色的比例 3 */ 4 int Widget::Mat_colo
阅读全文
posted @
2021-12-27 16:13
一杯清酒邀明月
阅读(1086)
推荐(0) 编辑
OpenCV cv::convertScaleAbs()使用详解
摘要:cv::convertScaleAbs()用于实现对整个图像数组中的每一个元素,进行如下操作: 该操作可实现图像增强等相关操作的快速运算,具体用法如下: 1 void cv::convertScaleAbs( 2 cv::InputArray src, // 输入数组 3 cv::OutputArr
阅读全文
posted @
2021-12-17 16:45
一杯清酒邀明月
阅读(4080)
推荐(0) 编辑
OpenCV 阈值操作(Threshold,AdaptiveThreshold)
摘要:在讲阈值操作方法之前,肯定是先讲下阈值分割的作用阈值分割其实就是图像分离,对于阈值内的你想如何操作,一个最简单的例子就是二值图像。 接下来我们看下方法吧:threshold —— 简单的阈值操作adaptiveThreshold —— 自适应阈值操作 threshold参数说明:def thresh
阅读全文
posted @
2021-12-17 14:28
一杯清酒邀明月
阅读(817)
推荐(0) 编辑
OpenCV 实现图像去阴影
摘要:实现思路: 图将转为灰度图 将灰度图进行闭运算操作 闭运算后的图减去原灰度图再取反 将取反后的图使用归一化将白色背景修改贴近原图 opencv实现: 1 Mat src = imread("D:/opencv练习图片/去阴影.png"); 2 imshow("原图", src); 3 //1.将图像
阅读全文
posted @
2021-12-17 09:24
一杯清酒邀明月
阅读(1404)
推荐(0) 编辑