
opencv
just_tree
这个作者很懒,什么都没留下…
展开
-
关于OpenCV中Mat对象
一.各种初始化1.Mat() //1.Mat() Mat p1 = Mat(); cout << p1; namedWindow("output1");// imshow("output1", p1);原创 2019-03-25 19:20:44 · 542 阅读 · 0 评论 -
OpenCV-霍夫变换
原理,好复杂,脑壳痛, 详见:霍夫变换过程:API:应用:直线检测#include<opencv2/opencv.hpp>#include <iostream>#include <opencv2/highgui/highgui_c.h>using namespace std;using namespace cv;Mat src, t...原创 2019-04-13 15:40:51 · 638 阅读 · 0 评论 -
OpenCV像素重映射 cv::remap
把输入图像的各个像素按照一定的规则映射到另一张图像的对应位置上面去,形成一张新图像。API:void update_map(void) { for (int row = 0; row < src.rows; row++) { for (int col = 0; col < src.cols; col++) { switch (index) { case 0: /...原创 2019-04-13 16:17:34 · 396 阅读 · 0 评论 -
OpenCV-直方图
直方图与直方图均衡化均衡化会提高对比度。均衡化函数:直方图的计算#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>using namespace cv;using namespace std;int main(int argc, char** arg...原创 2019-04-13 19:15:03 · 158 阅读 · 0 评论 -
OpenCV-直方图比较
概念方法1.越接近1约相似2.越小越相似3.4.过程:API#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>#include <opencv2/highgui/highgui.hpp>using namespace std;usi...原创 2019-04-13 20:35:32 · 403 阅读 · 0 评论 -
OpenCV-直方图反向投影
理解:在同一区间上的数据可能是需要识别出来的物品,例如,照片中: 一只手放在桌子上,辣么 肉色区域识别截取出来,结果为“手”。反向投影步骤:具体实施#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>using namespace std;using namesp...原创 2019-04-13 20:50:54 · 617 阅读 · 0 评论 -
OpenCV- 模板匹配
模板匹配(Template Match)六种方法介绍:#include <opencv2/opencv.hpp>#include <iostream>#include <opencv2/highgui/highgui.hpp>#include <math.h>using namespace std;using namesp...原创 2019-04-14 14:13:47 · 276 阅读 · 0 评论 -
OpenCV-轮廓发现
轮廓发现(find contour)API:方法:#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>using namespace std;using namespace cv;Mat src, dst;const char* output_win = ...原创 2019-04-14 14:38:54 · 517 阅读 · 0 评论 -
OpenCV-凸包
凸包(convex hull)概念:Graham扫描算法:API:#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>#include <opencv2/highgui/highgui.hpp>using namespace std;using...原创 2019-04-14 15:28:16 · 1990 阅读 · 0 评论 -
OpenCV-轮廓周围绘制矩形框以及圆形框
步骤:API:功能:近似于曲线的或与另一曲线/多边形的多边形用更少的顶点,使得它们之间的距离是小于或等于指定的精度approxCurve=cv.approxPolyDP(curve, epsilon, closed[, approxCurve])矩形:BoundingRect是说,用一个最小的矩形,把找到的形状包起来。还有一个带旋转的矩形,面积会更小minAreaRect函数返回矩...原创 2019-04-14 17:04:39 · 3120 阅读 · 0 评论 -
OpenCV-矩
矩详见:https://blog.youkuaiyun.com/huayunhualuo/article/details/81698589#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>using namespace std;using namespace cv;Mat sr...原创 2019-04-14 17:47:44 · 275 阅读 · 0 评论 -
OpenCV-点多边形测试
点多边形测试测试一个点是否在给定多边形的内部外部或者边缘。API根据距离画出范围图#include<opencv2/opencv.hpp>#include<iostream>#include<math.h>#include<opencv2/highgui/highgui_c.h>using namespace std;using ...原创 2019-04-15 13:35:22 · 1048 阅读 · 0 评论 -
OpenCV contrib
今天发现还有扩展包, 再次配置环境 人仰马翻 我的版本4.0.1转载自 https://blog.youkuaiyun.com/tsyccnh/article/details/51489475链接器 添加如下依赖项opencv_aruco401d.lib;opencv_bgsegm401d.lib;opencv_bioinspired401d.lib;opencv_calib3d401d.lib...转载 2019-04-23 16:41:15 · 195 阅读 · 0 评论 -
打开手机摄像头进行处理
转 https://www.liangzl.com/get-article-detail-10426.html很卡 .原创 2019-04-19 16:28:05 · 279 阅读 · 0 评论 -
OpenCV-仿射变换
#include <opencv2/opencv.hpp>#include <opencv2/highgui/highgui.hpp>#include <iostream>using namespace std;using namespace cv;int main(){ Mat tag; Mat tagdst = Mat::zeros(ta...原创 2019-04-19 19:19:59 · 660 阅读 · 0 评论 -
OpenCV-Canny边缘检测算法
非最大信号抑制:不是最大信号就舍弃;L1表示L2表示API:在这里插入代码片原创 2019-04-13 13:34:07 · 3854 阅读 · 0 评论 -
OpenCV-卷积应用图像边缘提取
边缘:像素值发生跃迁的地方,是图像的显著特征之一如何提取捕捉边缘:对图像求它的一阶导数Sobel算子:用来计算机图像灰度的近似梯度功能集合高斯平滑和微分求导convertScaleAbs(src, dst)计算图像A的像素绝对值,输出到图像B.#include<opencv2/opencv.hpp>#include <iostream>#include &...原创 2019-04-12 19:25:06 · 1072 阅读 · 0 评论 -
OpenCV-处理边缘
卷积边缘问题图像卷积的时候,边界像素不能被卷积操作,因为边界像素没有完全跟kernel重合,例如3×3的kernel有1个大小的像素边缘未被处理,5×5的kernel有2个大小的像素边缘未被处理,处理方法增加边缘对API代码如下:#include<opencv2/opencv.hpp>#include <iostream>#include <open...原创 2019-04-12 16:23:52 · 2082 阅读 · 0 评论 -
OpenCV学习-配置安装
@关于基本的配置安装前提VS的安装以及opencv3的下载不再复述,这里总结一下VS2015各个版本对应opencv3与4不同配置的总结vs2015关于打开无法找到win32控制台应用程序首先我们可能是下载的时候没有加载进去这个包 解决方法见 vs2015没有win32控制台怎么办?如果上述办法没有解决你找不到的问题请见下文若你打开的是for blend vs 2015 这个为社区...原创 2019-04-11 17:23:40 · 143 阅读 · 0 评论 -
OpenCV -绘制形状与文字
1.line()函数画直线函数 cv::line(背景图片,起点,终点, 线条颜色,线条粗细,线条形状,坐标点的小数点位数(可略)){ ... imshow("showbgimage", bgImage); MyLines(); imshow("showbgimage1", bgImage); waitKey(0); return 0;}void MyLines...原创 2019-04-10 15:01:06 · 1182 阅读 · 0 评论 -
图像操作
单通道与多通道将图像转换为灰度图像,在对灰度图像的操作单通道多通道int main(int argc, char ** args){ //图像操作 单通道与三通道 Mat src = imread("E://VS-pro//images//zhu.jpg"); Mat gray_src; if (src.empty()) { cout << "can n...原创 2019-03-27 19:16:40 · 178 阅读 · 0 评论 -
读写像素
对像素值的读写读一个灰度像素点的像素值(CV_8UC1)Scalar intensity = img.at(y,x)或 Scalar intensity = img.at(point(x,y))读一个RGB像素点的像素值(CV_8UC1)Vec3f intensity = img.at(y,x)float blue = intensity.val[0];…Vec3b ...原创 2019-03-27 19:27:30 · 248 阅读 · 0 评论 -
图像混合
理论上 线性混合操作函数 addWeightedvoid cv::addweighted{InputArray src1, //输入图像1double alpha; //图像1的alpha值InputArray src2, //输入图像1double bet...原创 2019-03-27 19:50:18 · 435 阅读 · 0 评论 -
OpenCV-图像模糊
图像模糊 : 为了给图像预处理时降低噪声- 均值滤波blur(Mat src, Mat dst, Size(xradius, yradius), point(-1, -1));- 高斯滤波(带权重的求和取值)GaussianBlur(Mat src, Mat dst, Size(xradius, yradius), sigmax, sigmay);sigmax, sigmay 调整高斯...原创 2019-04-10 17:05:30 · 255 阅读 · 0 评论 -
OpenCV-膨胀与腐蚀
#include <opencv2/opencv.hpp>#include <iostream>#include <opencv2/highgui/highgui_c.h>using namespace cv;using namespace std;int element_size = 3;int max_size = 21;Mat src, ...原创 2019-04-10 19:41:29 · 336 阅读 · 0 评论 -
关于配置opencv 中无法打开文件“opencv_world400d.lib”情况
在配置opencv4的时候碰到这种情况:解决方法:打开opencv安装路径如下vs2015对应目录vc14 vs2017对应目录vc15在配置链接器->输入->附加依赖项中 输入对应的lib像我的这个版本就应该输入opencv_world401d.libopencv_world401.libps:注意下自己的配置环境是不是 Debug X64...原创 2019-03-22 19:54:44 · 21694 阅读 · 8 评论 -
OpenCV-形态学操作
1. 开操作(MORPH_OPEN)先腐蚀后膨胀 可以去掉小的对象,再将变小的大对象还原,在对象是前景色,背景为黑色的情况下。(去掉小白块)2. 闭操作(MORPH_CLOSE )先膨胀后腐蚀 可以填补小的洞,在对象是前景色,背景为黑色的情况下。(去掉小黑块)3. 形态学梯度(MORPH_GRADIENT)膨胀减去腐蚀4. 顶帽(MORPH_TOPHAT)原图像与开操作之间的差...原创 2019-04-11 15:27:46 · 483 阅读 · 0 评论 -
OpenCV 形态学应用-提取水平竖直线
原理:提取步骤:- 获取图像为彩色图像Mat src = imread("E://VS-pro//images//line.bmp"); imshow("原图-彩色图像", src);- 转换为灰度图像Mat gray_src; cvtColor(src, gray_src, COLOR_BGR2GRAY); imshow("灰度图像", gray_src);- 转换为二...原创 2019-04-11 16:12:16 · 1539 阅读 · 0 评论 -
OpenCV-图像的上采样降采样以及高斯不同
图像金字塔概念:每一层为一个图像:从小到大是上采样,从大到小是降采样。上采样(放大)pyrUp(Mat src, Mat dst, Size(src.cols 2, src.rows 2));**降采样(缩小)pyrUp(Mat src, Mat dst, Size(src.cols 2, src.rows 2));**高斯不同#include<opencv2/openc...原创 2019-04-11 17:52:20 · 1256 阅读 · 0 评论 -
OpenCV-阈值
阈值:图像分割的标尺阈值的类型**阈值二值化(threshold binary)高于阈值的部分取最大值,低于阈值部分取0;阈值反二值化(threshold binary Inverted)高于阈值的部分取0,低于阈值部分取最大值;截断(truncate)高于阈值的部分取阈值,低于阈值部分不变;阈值取零 (threshold to zero)高于阈值的部分不...原创 2019-04-11 18:39:14 · 200 阅读 · 0 评论 -
OpenCV-基于距离变换与分水岭的图像分割
图像分割 Image Segmentation目的:将图像中的像素按照一定放规则分为若干个cluster集合,每个集合包含一类像素根据算法分为监督学习方法跟无监督学习方法距离变换与分水岭API:实现过程代码:#include <opencv2/opencv.hpp>#include <iostream>#include <opencv2/high...原创 2019-04-15 16:41:21 · 1444 阅读 · 0 评论 -
OpenCV-自定义线性滤波
Kernel 本质上是一个固定大小的数组,其中心的被称为锚点(anthor point)卷积是kernel在每个像素上的操作;原创 2019-04-12 15:09:31 · 278 阅读 · 0 评论