OpenCV
文章平均质量分 68
技术应用
惊鸿一博
毕业于中国科学院大学/中科院自动化研究所;专注于SLAM,三维重建,图像处理,视觉定位等;曾就职于鸿海集团,大陆集团,现在某自动驾驶独角兽企业;热爱分享,热爱生活;欢迎一起交流,学习,进步。
展开
-
OpenCV_cv::Mat初始化
1 直接初始化cv::Mat m = (cv::Mat_<int>(3,3) << 1,2,3,4, 5,6,7,8, 9,10,11,12);原创 2021-08-25 21:59:15 · 874 阅读 · 0 评论 -
图像处理_OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
目录1. 基于直方图均衡化的图像增强2. 基于拉普拉斯算子的图像增强3. 基于对数Log变换的图像增强4. 基于伽马变换的图像增强参考:1. 基于直方图均衡化的图像增强直方图均衡化是通过调整图像的灰阶分布,使得在0~255灰阶上的分布更加均衡,提高了图像的对比度,达到改善图像主观视觉效果的目的。对比度较低的图像适合使用直方图均衡化方法来增强图像细节。彩色图像的直方图均衡化实现: #include <opencv2/highgui/highgui.hpp>转载 2021-04-25 16:30:08 · 501 阅读 · 0 评论 -
图像特征描述_如何判断ORB特征点的好坏(得分)_FAST_SCORE对比HARRIS_SCORE
目录1 背景说明1.1 函数原型2 评分算法2.1 FAST评分算法2.1.1 源码2.2 Harris评分算法2.2.1 说明2.2.2 角点响应函数R2.2.3 源码1 背景说明ORB特征在OpenCV (以下代码已OpenCV4.5.1为例)中有两种评分方式 FAST_SCORE 和 HARRIS_SCORE ORB_SLAM3中使用的是FAST_SCORE先来看官方介绍1.1 函数原型//出处:\opencv\sources\modules\原创 2021-01-29 17:54:47 · 1557 阅读 · 0 评论 -
图像处理_Opencv中Mat矩阵中data、size、depth、elemSize、step等属性的理解
data: uchar类型的指针,指向Mat数据矩阵的首地址。可以理解为标示一个房屋的门牌号;dims: Mat矩阵的维度,若Mat是一个二维矩阵,则dims=2,三维则dims=3,大多数情况下处理的都是二维矩阵,是一 个平面上的矩阵。 可以理解为房屋是一个一层的平房,三维或更多维的则是多层楼房;rows: Mat矩阵的行数。可理解为房屋内房间行数;cols: Mat矩...转载 2021-01-23 08:20:43 · 1630 阅读 · 0 评论 -
OpenCV_cv::Mat的深拷贝 浅拷贝问题
目录先看结论代码演示下效果什么样先看结论今天抽空整理了一下关于OpenCV中Mat这个容器的深浅拷贝问题什么是深拷贝?什么又是浅拷贝?深拷贝: 分配新内存的同时拷贝数据!当被赋值的容器被修改时,原始容器数据不会改变。 浅拷贝:仅拷贝数据!当被赋值容器修改时,原始容器数据也会做同样改变。(感觉和C++中引用同理)而到了OpenCV的Mat时,有几种赋值方式分别为:1、 b = a.clone();2、 a.copyTo(b);3、 b = a;4、 b(a);...转载 2021-01-16 17:27:18 · 1878 阅读 · 0 评论 -
opencv_找cv::Mat中的最大值和最小值
方法1: std 中 algorithm#include <iostream> // std::cout#include <algorithm> // std::min_element, std::max_elementcv::Mat img = cv::imread("path-to-image/juice.tiff");// 假设图片数据类型位floatfloat maxValue = *max_element(img.begin<float原创 2020-11-04 11:20:00 · 14103 阅读 · 1 评论 -
图像处理_形态学运算中的膨胀与腐蚀直观理解
参考:https://max.book118.com/html/2017/0414/100215355.shtm原创 2020-11-02 22:04:46 · 589 阅读 · 0 评论 -
opencv的Mat与Eigen的Matrix相互转换
目录1 opencv的Mat与Eigen的Matrix相互转换1.1 Eigen 转 cv::Mat1.2 cv::Mat 转 Eigen1.3 float 与 double 互转2 SE(3):把cv的旋转矩阵转换为Eigen中旋转矩阵的赋值1 opencv的Mat与Eigen的Matrix相互转换首先包含这几个头文件,据说Eigen相关的要放在前面。#include <Eigen/Core>#include <Eigen/Dense>#inc原创 2020-10-15 15:38:34 · 6197 阅读 · 2 评论 -
OpenCV_mechanisms of Canny operator(Canny算子检测图像边缘)
目录一.介绍1.函数原型2. 原理与步骤: 1). 消除噪声: gaussian 2). 计算梯度幅值和方向: sobel算子 3). 进行非极大值抑制 4). 滞后阈值,筛选边缘。二. 代码测试 main.cpptestFuntion.htestFuntion.cpp三. 运行结果一.介绍1.函数原型...原创 2019-04-02 08:58:29 · 446 阅读 · 0 评论 -
OpenCV_Find Basis F-Matrix and computeCorrespondEpilines(获取一对图像的基础矩阵及对应极线)
cv::findFundamentalMat | cv::computeCorrespondEpilines | cv::SurfFeatureDetector surf原创 2017-03-26 22:10:17 · 5872 阅读 · 0 评论 -
OpenCV_(Fit Line with points)用直线拟合一组点
// 5. 用直线拟合一组点------------------------------------------------------ cv::Mat image = cv::imread("../../aTestImage/road2.jpg", 0);//Building cv::Mat contours; //阈值1:确定应该包含所有认为是属于明显图像轮廓的边缘...原创 2017-03-16 18:28:55 · 1975 阅读 · 3 评论 -
OpnCV_(HoughCircles to find circles)霍夫变换检测圆形
cv::GaussianBlurcv::HoughCircles原创 2017-03-16 17:37:21 · 361 阅读 · 0 评论 -
OpenCV_Camera Calibration and Rectification under QT creator( 相机标定及矫正 | QT creator环境 )
流程://1.找多副棋盘格图像角点,存入2D图像点及3D坐标点//2.进行相机标定 获取标定参数:相机矩阵 畸变矩阵 旋转向量和平移向量//3.映射相应矩阵 获取x y映射函数 (像高hi/物高h0=焦距f/物距d0)//4.应用映射函数,输出未畸变图像main 函数:#include <QCoreApplication>#include <op...原创 2017-03-26 10:38:50 · 1917 阅读 · 0 评论 -
OpenCV_Find Contours (提取图像轮廓)
cv::findContourscv::drawContours原创 2017-03-22 23:15:52 · 2939 阅读 · 0 评论 -
OpenCV_(Corner Detect with Morphology) 基于形态学滤波的角点检测
cv::dilate(image,result,cross);//十字膨胀cv::erode(result,result,diamond);//菱形腐蚀cv::dilate(image, result2, x);//X形膨胀cv::erode(result2, result2, square);//正方形腐蚀原创 2017-03-13 17:43:43 · 382 阅读 · 0 评论 -
OpenCV_Corner Detect with Harris and goodFeaturesToTrack( 基于Harris及适合跟踪的优质特征的角点检测)
目录一. 概念Harris角点检测内部实现:优缺点二. 代码main函数HarrisDetector.hHarrisDetector.cpp三. 效果图一. 概念Harris角点检测内部实现: cv::cornerHarris(…) 观察一个假定的特征点,周围小窗口内的,方向强度的 加权平均变化E。 首先获取一个点平均强度变化最...原创 2017-03-23 22:28:11 · 443 阅读 · 0 评论 -
OpenCV_(Using GrabCut extract the foreground object) 使用 GrabCut 算法提取前景物体
//4.使用GrabCut算法提取前景物体--------------------------------- cv::Mat imagecow = cv::imread("../../aTestImage/cow.jpg", 1); //cv::IMREAD_GRAYSCALE | 0 cv::Rect rectangle(10,100,380,180); cv::Mat result;原创 2017-03-14 17:02:34 · 402 阅读 · 0 评论 -
0penCV_(Watershed Segmenter)使用 分水岭算法 对图像进行分割
//使用 分水岭算法 对图像进行分割cv::Mat image = cv::imread("../../aTestImage/cow.jpg", 1);cv::Mat image1 = cv::imread("../../aTestImage/cow.jpg", 0);cv::Mat binary;cv::threshold(image1, binary, 60, 255, cv...原创 2017-03-14 17:05:06 · 1070 阅读 · 0 评论 -
OpenCV_(Based on Sobel Filter to Detect edges) 基于Sobel算子的方向滤波器检查边缘
cv::Sobel(imag, sobelX, CV_8U, 1, 0 , 3 , 0.4 , 128);//计算Sobel范式cv::Sobel(imag, sobelY, CV_8U, 0, 1 , 3 , 0.4 , 128);sobel =abs(sobelX) +abs (sobelY);//计算L1范式原创 2017-03-14 18:57:13 · 399 阅读 · 0 评论 -
OpenCV_Corner Detect with FastFeatureDetector(基于FAST的角点检测) 及 SUSAN算子
目录一. 概念Fast角点检测内部实现:优缺点:二. 代码三. 运行结果四. 拓展对比_SUSAN算子 简介:内部实现:计算步骤:优缺点:一. 概念Fast角点检测内部实现:cv:FastFeatureDectctor Harris算法的一个简化: 利用少数像素比较数量,来确定是否接受一个特征点。 通过检测候...原创 2017-03-23 22:49:43 · 1101 阅读 · 0 评论 -
OpenCV_(Laplacian Transform to find the edges)图像拉普拉斯变换查找边缘 图像识别
cv::Laplacian(image, laplace, CV_32F, aperture);laplace.convertTo(laplaceImage, CV_8U, scale, 128);原创 2017-03-15 15:43:51 · 645 阅读 · 0 评论 -
OpenCV_ImageMatching with SURF and SIFT(使用SURF和 SIFT进行图像匹配 对比)
ImageMatching with SURF :// ImageMatchwithSURF.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <openc...原创 2017-03-25 00:38:08 · 776 阅读 · 0 评论 -
OpenCV_霍夫变换_直线检测_HougLines
cv::HoughLines(contours, lines, 1, PI / 180, 150);原创 2017-03-16 15:41:56 · 1307 阅读 · 0 评论 -
OpenCV_Draw the Shape Descriptor(绘制图像的形状描述符)
cv::findContours | cv::boundingRect | cv::minEnclosingCircle | cv::approxPolyDP | cv::convexHull | cv::moments原创 2017-03-23 00:25:17 · 891 阅读 · 0 评论