OpenCV
文章平均质量分 84
Opencv学习笔记
嵌小超
博客专注于机器人、嵌入式、人工智能等方面的学习与探讨。
欢迎各位志同道合的朋友互相交流!
展开
-
【OpenCV进阶】实现OpenCV4.4 CUDA加速
OpenCV支持传统的图像处理的CUDA加速,从OpenCV4.2开始支持深度神经网络的CUDA加速,因此在OpenCV4.4中,CUDA是既可以加速传统的图像处理,特征与对象检测;又可以支持深度神经网络的CUDA加速。原创 2021-05-10 09:04:05 · 33794 阅读 · 7 评论 -
【OpenCV基础】图像翻转和旋转变换
API- flip函数原型:void flip(InputArray src, OutputArray dst, int flipCode)参数含义:src,输入矩阵dst,翻转后矩阵,类型与src一致flipCode,翻转模式,flipCode==0垂直翻转(沿X轴翻转),flipCode>0水平翻转(沿Y轴翻转),flipCode<0水平垂直翻转(先沿X轴翻转,再沿Y轴翻转,等价于旋转180°)...原创 2021-07-23 09:58:03 · 1343 阅读 · 1 评论 -
【OpenCV进阶】YOLOV3模型实现视频检测
YOLOV3介绍和实现原创 2021-07-24 16:25:50 · 486 阅读 · 1 评论 -
【OpenCV基础】形态学操作应用-提取水平与垂直线
提取步骤1.转化为灰度图像cvtColor(src,dst,color_BGR2GRAY)2.转化为二值图像转换为二值图像 – adaptiveThreshold3.定义结构元素4.开操作 (腐蚀+膨胀)提取 水平与垂直线原创 2021-06-29 01:51:58 · 166 阅读 · 0 评论 -
【OpenCV基础】图像混合的介绍与实践
图像混合:大小、通道数、类型都相同的两张图像按照一定的比例进行合并的过程。#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;int main(int argc, char** argv) { Mat a, b, c; a = imread("D:/images/1.png"); b = imread("D:/images/2.png");原创 2021-06-22 15:25:13 · 439 阅读 · 0 评论 -
【OpenCV进阶】基于深度相机D435i的二次开发,Mask-RCNN嵌入到深度相机,并去除背景
深度相机的测距原理二次开发的环境配置实时测距Mask-RCNN嵌入到深度相机,并去除背景原创 2021-05-15 16:26:02 · 2389 阅读 · 0 评论 -
【OpenCV基础】直方图均衡化
直方图均衡化的作用:使物体和背景区分不明显的图像,对比度加强;而如果图像本身对比度很强,那么该方法没有明显作用。代码演示#include<iostream>#include<opencv2\opencv.hpp>using namespace std;using namespace cv;int main() { Mat img, src,img_gray; src = imread("D:/images/lena.png"); if (!src.data)原创 2021-07-08 14:25:19 · 364 阅读 · 0 评论 -
【OpenCV基础】RGB与YCbCr颜色空间的转换
RGB颜色空间是最常见的颜色空间。然而,R、G和B色之间存在高相关性。Y’CbCr颜色空间通常用于分割在RGB颜色空间中难以分离的对象。在图像从RGB颜色空间转换为Y‘CbCr颜色空间之后,得到的信号对于Y为16到235,Cb和Cr为16到240。RGB图像被使用等式转换为Y‘CbCr图像:...原创 2021-05-13 07:52:43 · 1449 阅读 · 0 评论 -
【OpenCV基础】一分钟带你了解3D摄像头与 2D摄像头区别
1. 2D&3D 的定义首先2D,3D 的D 是什么意思?D 全称是Dimensional,翻译中文为维度。中文解译2D,3D 为二维,三维。2. 2D 和3D 区别如果从数学,物理角度出发考虑,大家就很容易理解,二维只有x,y 两个轴,比如一张画,一张相片。从视觉感观讲,就是一个平面。而三维比二维多了一维,即z 轴。直观上来说,就是点到我们的距离。即“深度”。人的视觉能分辨远近,是靠两只眼睛的视差。两只眼睛看任何一样东西,两眼角度都不会相同。虽然差距很小,但经视网膜传到大脑里,脑子就用原创 2021-06-03 16:51:38 · 4518 阅读 · 1 评论 -
【OpenCV进阶】基于YOLO V4检测鼠标框选出的自定义区域
【OpenCV进阶】基于YOLO V4检测鼠标框选出的自定义区域原创 2021-08-29 00:30:10 · 1436 阅读 · 2 评论 -
【OpenCV基础】截图+自定义区域+打开两个USB相机
【OpenCV基础】截图+自定义区域(C++版)原创 2021-08-27 23:52:42 · 1362 阅读 · 2 评论 -
【OpenCV进阶】采用YOLOv4实现交通标志的检测
采用YOLOv4实现交通标志的检测原创 2021-08-25 00:03:00 · 2575 阅读 · 1 评论 -
【ROS+opencv实践】cv_bridge的使用
ROS与opencv之间进行图像转换和处理的过程:1.首先,订阅摄像头话题(image_raw),读取视频流。2.使用cv_bridge,将ROS图像格式转化为opencv格式。3.使用opencv里面的API对图像进行处理。4.使用cv_bridge,将opencv图像格式转化为ROS格式。...原创 2021-08-22 10:16:20 · 1756 阅读 · 0 评论 -
【ROS+OpenCV实践】二维码识别
安装二维码识别的功能包sudo apt-get install ros-melodic-ar-track-alvar知识点:通过sudo apt-get install ros-版本-XXX的形式所安装的功能包都存放在opt/ros/版本/share的路径下。原创 2021-08-19 14:49:47 · 6084 阅读 · 1 评论 -
【ROS+OpenCV实践】USB单目相机实现标定
➢摄像头为什么要标定?摄像头这种精密仪器对光学器件的要求较高,由于摄像头内部与外部的一些原因,生成的物体图像往往会发生畸变,为避免数据源造成的误差,需要针对摄像头的参数进行标定。sudo apt-get install ros-melodic-calibration...原创 2021-08-18 15:08:40 · 648 阅读 · 0 评论 -
【ROS+OpenCV实践】基于ROS系统开启USB相机,完成视频图像的边缘检测
在修改sample_cv_bridge_node.cpp中的代码后需要进行一次编译,以更新sample_cv_bridge_node文件,且该节点文件存放在/home/zjc/catkin_make/devel/lib/cv_bridge_tutorial_pkg目录下。修改代码的变化,之前边缘检测保留了颜色,修改后去除了颜色,只有灰色;此外,去除了显示原图视频的代码,只显示处理后的视频流;1.创建一个名为cv_bridge_tutorial_pkg的工作空间。原创 2021-08-16 22:06:51 · 1242 阅读 · 0 评论 -
【OpenCV进阶】YOLO代码解读
YOLO对象检测的代码解读原创 2021-08-14 23:13:43 · 261 阅读 · 1 评论 -
【OpenCV进阶】打印帧数和运行时间的函数
1.每张图像的运行时间和帧率的计算公式总时间/总帧数=每一帧图像播放时停留的时间。总帧数/总时间=帧率2.getTickFrequency()getTickFrequency():返回CPU一秒中所走的时钟周期数。即一秒钟的重复次数。getTickFrequency() / 1000:即一毫秒的重复次数3.getPerfProfilegetPerfProfile(layersTimings) :每一层的执行时间,单位默认为毫秒。getPerfProfile(layersTimings原创 2021-08-14 17:07:44 · 1492 阅读 · 2 评论 -
【OpenCV进阶】采用YOLOV4模型,对视频中的物体进行识别!
采用YOLOV4模型,实现视频中的物体检测原创 2021-08-14 15:21:13 · 272 阅读 · 0 评论 -
【OpenCV进阶】从深度学习环境搭建到Tensorflow行人识别,超详细!
一、安装安装tensorflowpip install tensorflow安装pythonpip install opencv-python安装IDE-Pycharm原创 2021-07-30 23:36:17 · 1511 阅读 · 0 评论 -
【OpenCV进阶】DNN模型详细解读
API-blobFormImagereference:OpenCV中blobFromImage函数详细解释作用:对输入图像进行归一化操作函数参数如下Mat cv::dnn::blobFromImage(InputArray image,double scalefactor = 1.0,const Size & size = Size(),const Scalar & mean = Scalar(),bool swapRB = false,bool crop原创 2021-07-29 17:16:48 · 2972 阅读 · 0 评论 -
【OpenCV进阶】YOLOV4模型-图像和视频检测
referenceopencv进阶-YOLOV3模型-实时物体检测原创 2021-07-26 09:25:29 · 978 阅读 · 0 评论 -
【OpenCV基础】图像翻转、旋转变换、视频加载、摄像头调用
API全部代码1.视频加载2.摄像头调用原创 2021-07-25 11:31:09 · 1464 阅读 · 3 评论 -
【OpenCV进阶】跑通基于YOLO V3模型的图像检测
基于YOLO V3模型的行人检测原创 2021-07-24 15:29:30 · 1805 阅读 · 2 评论 -
【OpenCV进阶】如何基于SSD模型实现对物体的实时检测
采用SSD模型实现对人脸的实时检测原创 2021-07-24 00:19:42 · 7804 阅读 · 4 评论 -
【OpenCV进阶】OpenVINO2021版安装与开发配置
使用加速引擎提高推算的速度,达到实时检测深度学习压缩加速的开源工具包open VINO,其中的IE加速组件。原创 2021-07-22 20:09:36 · 2661 阅读 · 3 评论 -
【OpenCV进阶】加载SSD\GooglNet网络,实现图像识别
全部代码#include <opencv2/opencv.hpp>#include<opencv2/dnn.hpp>#include <iostream>#include <fstream>using namespace cv;using namespace cv::dnn;using namespace std;vector<string> readLabels();int main(int argc, char** arg原创 2021-07-20 23:44:53 · 393 阅读 · 0 评论 -
【OpenCV基础】计算机视觉专业术语大全
图像卷积基本术语:卷积核、窗口、模板、操作数卷积系数:卷积核内的元素数值卷积神经网路的概念1.卷积和池化层2.卷积网络卷积层特点:1.局部感受野2.权重共享机制3.池化下采样操作4.获取了图像的迁移、变形与尺度空间不变性特征如何在opencv中加载卷积神经网络各个层?...原创 2021-07-19 21:55:43 · 1275 阅读 · 1 评论 -
【OpenCV进阶】基于HOG+SVM自定义对象检测
HOG+SVMHOG的详细介绍参考:梯度直方图的学习:归一化的学习:SVM的详细介绍参考:原创 2021-07-18 14:04:06 · 404 阅读 · 1 评论 -
【OpenCV进阶】HOG+SVM行人检测(已训练好的分类器)
一、HOG特征检测算法原理与流程二、API1.HOGDescriptor2.detectMultiScale3.compute四、全部代码五、效果展示原创 2021-07-18 11:10:05 · 2433 阅读 · 5 评论 -
【OpenCV基础】凸包检测、Harris角点检测、Canny边缘检测
【OpenCV基础】凸包检测、Harris角点检测、Canny边缘检测原创 2021-07-16 11:39:56 · 1494 阅读 · 0 评论 -
【OpenCV基础】物体轮廓外接矩形的绘制
全部代码#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;int main() { Mat src, Gau_src, gray_src, binary_src; src = imread("D:/images/hand.jpg"); if (src.empty()) { cout << "Could not load the原创 2021-07-16 11:16:27 · 738 阅读 · 0 评论 -
【OpenCV基础】Mat对象介绍并创建卷积核
一、创建卷积核创建卷积核的函数原型如下:1.1API-getStructuringElementgetStructuringElement(int shape, Size ksize, Point anchor)函数中的参数含义如下:1.int shape - 形状 (MORPH_RECT \MORPH_CROSS \MORPH_ELLIPSE)第一个参数表示卷积核的形状,有矩形、圆形、直线、钻石等,主要有如下几种选择:(1)MORPH_RECT:矩形结构区域。(2)MORPH_CROS原创 2021-07-13 17:39:00 · 2586 阅读 · 1 评论 -
【OpenCV基础】图像二值化操作
图像二值化操作API-函数原型中的参数:参数含义原创 2021-07-12 17:35:02 · 3870 阅读 · 3 评论 -
【OpenCV进阶】win10+vs2015+Intel RealSense D435i深度相机配置
第一步:Intel RealSense D435i的SDK下载第二步:测试深度相机是否能工作点击Inter RealSense Viewer,测试能否成功链接相机,成功链接会出现如下画面:第一次链接可能无法显示,检查可能是因为接口插错了,本次测试中,先是插入usb2.0接口,无法显示;之后插入usb3.0能正常显示。第三步:创建项目,进行环境配置...原创 2021-07-09 22:18:47 · 1499 阅读 · 0 评论 -
【OpenCV基础】物体轮廓检测和面积计算
轮廓发现分为四个流程:(1)输入图像转为灰度图像cvtColor(2)使用Canny进行边缘提取,得到二值图像(3)使用findContours寻找轮廓(4)使用drawContours绘制轮廓代码演示#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;Mat src, dst;const char* input_win = "【输入图像原创 2021-07-09 09:56:36 · 2967 阅读 · 0 评论 -
【OpenCV基础】模板匹配、像素重映射、直方图均衡化
模板匹配#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;Mat src; Mat templ; Mat result;char* src_window = "【输入图像】";char* result_window = "【结果窗口】";int match_method;int max_Trackbar = 5;// 函数声明void原创 2021-07-08 21:47:33 · 707 阅读 · 1 评论 -
【OpenCV基础】霍夫变换-圆检测、直线检测
【OpenCV学习】霍夫变换-圆检测原创 2021-07-06 22:58:17 · 6100 阅读 · 2 评论 -
【OpenCV基础】Sobel、Scharr、Laplacian算子边缘提取
API-Sobelvoid Sobel(InputArray src,OutputArray dst,int ddepth, 输出图像深度int dx,导数x的阶数int dy,导数y的阶数int ksize = 1\3\5\7,扩展Sobel内核的大小;它必须是1、3、5或7。double scale = 1, 计算派生值的可选比例因子;默认情况下,不应用缩放double delta = 0, 给所选的像素值添加一个值delta。int borderType = BORDER_DEF原创 2021-07-05 15:10:28 · 869 阅读 · 0 评论 -
【OpenCV基础】一分钟带你教你如何使用边缘填充
一、边缘填充二、API-copyMakeBorder三、不同边缘类型的效果原创 2021-07-04 22:46:04 · 2953 阅读 · 3 评论