- 博客(65)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Windows10+YOLOV3+VisualStudio2017最新版本超详细过程
最近两天在看yolo项目,所以想着把作者的项目copy一下运行看一下效果,谁知道一不小心,陷入坑中无法自拔。真实感叹作者的厉害之处。同时也记录了自己Windows10+YOLOV3+VisualStudio2017最新版本超详细走坑成功过程。YOLO项目官网:https://pjreddie.com/darknet/YOLO检测darknet安装教程https://pjreddie.co...
2019-03-10 16:39:05
40995
161
原创 【目标跟踪Opencv与fDsst总结(C++程序)】
虽然现有好多跟踪算法,在OTB和VOT跟踪算法评价数据集上通过种种诸如交并比,中心位置偏移率等评价其好坏,但是对于一个工程实践人员来说,我只关心算法实际效果和速度如何。因此我就把自己用到的opencv里面跟踪算法API和fDsst跟踪算法进行了一个实践。跟踪目标很简单,就是1920X1080的无人机单个目标,看一下哪个实际效果速度更快。并绘制其轨迹形状。效果如下:本文对Opencv中的...
2020-04-01 11:38:59
5311
17
原创 【ubuntu18+QT12+OpenCV4环境配置】
ubuntu18+QT12+OpenCV4环境配置前些天编译了最新版本opencv4,但是电脑内还有个opencv3.2,有时候二者共享链接库文件即libopencv*.so.XX,之类的路径没有配好的话,即使是使用简单的imread()函数,在QT中也会出现错误:mainwindow.cpp:33: error: undefined reference to `cv::imread(cv...
2019-12-06 11:15:28
1140
原创 【大疆无人机OnboardSDK(三)妙算ssh远程控制台系统搭建】
目标:搭建一个大疆无人机OnboardSDK通过局域网内(联不联网均可)利用XShell软件ssh登录并建立远程控制台,实现类似与地面站的功能。准备平台与硬件:Xshell+Xmanager功能很强大,可以通过ssh远程登录到妙算,xmanager可以将Linux的程序GUI可视化在windows中。(Xmanager Enterprise 其实就是一个程序文件夹,里面就带有xshel...
2019-11-07 20:25:29
4072
23
原创 【ROS实践入门(十)ROS控制相机图像实践】
【ROS实践入门(十)ROS控制相机图像实践】本内容经官网实例以及一些参考书总结而成,欢迎留言评论交流~联系方式:ziyuanw#foxmail.com(#换成@)OpenCV中的cv::VideoCapture类驱动摄像头。根据摄像头图像的读取方式,有两种使用OpenCV实现摄像头驱动程序的方法。第一种是根据每秒钟给定的图像帧(Frame Per Second,FPS)进行轮询;...
2019-10-24 09:19:13
1475
原创 【大疆无人机OnboardSDK(二)OnboardSDK-ROS系统搭建】
【大疆无人机OnboardSDK(二)OnboardSDK-ROS系统搭建】硬件软件参考平台及设置参考上一篇博客。不同之处,使用了OnboardSDK-ROS版本。区别于OnboardSDK,需要创建ROS工作空间,并将SDK源码放入catkin_ws工作空间进行编译执行。具体步骤如下:1.编译djiosdk-core模块library并安装到系统。安装上一篇博客下载完成On...
2019-10-15 10:54:12
6783
19
原创 【大疆无人机OnboardSDK(一)Assistant2仿真系统搭建】
【大疆无人机OnboardSDK(一)Assistant2仿真系统搭建】首先:一定要仔细阅读官网给出的说明书!M600用户使用说明,以及妙算2-C使用说明,不然都搞不清哪些线的作用是干什么的,也不清楚飞控上面哪些预留口是正常有用的!为了想要完成OnboardSDK开发,首先要对其仿真模拟平台进行搭建,大疆自带了Assistant2软件(貌似只有windows和mac版本)该软件可对...
2019-10-12 13:51:43
8342
16
原创 【ROS实践入门(九)ROS编译ORB-SLAM2运行】
【ROS实践入门(九)ROS编译ORB-SLAM2运行】本内容经官网实例以及一些参考书总结而成,欢迎留言评论交流~联系方式:ziyuanw#foxmail.com(#换成@)本文只探讨ROS工作空间内ORB—SLAM2实时摄像头的编译及运行效果,至于在TUM等数据集上效果可参见ORB-SLAM2的github 项目说明中给出的详细教程:https://github.com/ra...
2019-09-29 13:42:31
10875
2
原创 【ROS实践入门(八)ROS使用USB视觉传感器相机】
【ROS实践入门(八)ROS使用USB视觉传感器相机】本内容经官网实例以及一些参考书总结而成,欢迎留言评论交流~联系方式:ziyuanw#foxmail.com(#换成@)ROS对许多传感器诸如:游戏杆,游戏手柄,IMU,激光测距仪,Kinect(RGBD)传感器,USB视觉相机等都提供了支持,本文只探讨USB相机的使用方式包括:ROS下USB相机驱动安装, 相机节点编译执行,单目...
2019-09-29 11:25:06
7883
6
原创 【ROS实践入门(七)launch文件和动态参数使用】
【ROS实践学习入门系列(七)launch文件和动态参数使用】本内容经官网实例以及一些参考书总结而成,欢迎留言评论交流~联系方式:ziyuanw#foxmail.com(#换成@)一、节点和launch文件关系节点rosrun 一次只能执行一个,当我们自定义的程序功能包有许多个的话,此时一个一个执行起来就非常麻烦,因此此时可以利用一个很有用的功能launch。命令为:ros...
2019-09-28 21:44:39
2772
原创 【ROS实践入门(六)消息msg和服务srv文件创建与使用】
【ROS实践学习入门系列(六)消息msg和服务srv文件创建与使用】本内容经官网实例以及一些参考书总结而成,欢迎留言评论交流~联系方式:ziyuanw#foxmail.com(#换成@)一、创建msg和srv文件节点中创建msg和srv文件的常用功能为:用于说明传输数据的类型和数据值的文件,ROS会根据这些文件内容自动创建所需的代码(一般是在源程序中以*.h的头文件格式添加进去...
2019-09-28 18:28:14
2861
原创 【ROS实践入门(五)自定义节点功能包使用与消息传递】
【ROS实践学习入门系列(五)自定义节点功能包使用与消息传递】本内容经官网实例以及一些参考书总结而成,欢迎留言评论交流~联系方式:ziyuanw#foxmail.com(#换成@)一、回顾小海龟案例:在小海龟的案例中我们知道有两个节点的终端窗口,在一个终端窗口中输入键盘消息,另外一个终端窗口接收消息,最后才使得小海龟的图像按照键盘方向移动。rostopic发布器节点(红色...
2019-09-27 10:48:22
2736
1
原创 【ROS实践入门(四)使用服务与参数服务器】
【ROS实践学习入门系列(四)使用服务与参数服务器】本内容经官网实例以及一些参考书总结而成,欢迎留言评论交流~联系方式:ziyuanw#foxmail.com(#换成@)一、使用服务除了上篇文章中节点之间通过消息通信之外,服务是使节点之间相互通信的另一种方法。服务允许节点发送请求和接收响应。命令工具:rosservice [parameter]可接受参数:①...
2019-09-26 14:13:04
820
原创 【ROS实践入门(三)小海龟案例主题与节点交互】
【ROS实践学习入门系列(三)小海龟案例主题与节点交互】本内容经官网实例以及一些参考书总结而成,欢迎留言评论交流~联系方式:ziyuanw#foxmail.com(#换成@)一、小海龟案例还是先通过小海龟案例分析ROS各种基本命令使用方法,熟练之后才能往后面学习更加深入的东西。1.查找包路径:rospack find [packagename]以查找小海龟案例为...
2019-09-26 12:47:07
2060
1
原创 【ROS实践入门(二)ROS文件概念和工作空间】
【ROS实践学习入门系列(二)ROS文件概念和工作空间】本内容经官网实例以及一些参考书总结而成,欢迎留言评论交流~联系方式:ziyuanw#foxmail.com(#换成@)一、ROS文件系统级别在ROS设计的架构中,经过发展,目前被设计为三个部分,各自代表三个层级。文件系统级:后面以小海龟案例中文件组成来说明ROS内部构成,文件夹结构,以及实现功能必要核心文件。计算图...
2019-09-26 10:02:33
1147
1
原创 【ROS实践入门(一)ROS简介与安装方法】
【ROS实践学习入门系列(一)ROS简介与安装方法】本内容经ROS官网实例以及一些参考书总结而成,转载请注明出处,欢迎留言评论交流~联系方式:ziyuanw#foxmail.com(#换成@)一、简介:ROS(Robot Operating System)是一个机器人软件平台,它能提供类似操作系统的功能。摘自官网最近的几个版本:melodic , lunar kinetic...
2019-09-25 22:21:47
1411
原创 win10下安装Ubuntu18.04LTS双系统与完全删除Ubuntu系统
我折腾十次左右,下面步骤最简单省事。废话不多说,网上查阅了许多安装双系统步骤,总结起来就是:一、安装Ubuntu18.04LTS:1.空白硬盘空间用来装Ubuntu最好是系统win10所在C盘之外,一块空白盘(即未进行分配空间的硬盘)我的大概180G左右用来安装。2.制作ubuntu系统盘①下载UltraISO软件浏览器搜索即可找到。②一块空白U盘用来制作Ubuntu系...
2019-08-30 20:11:40
3392
原创 python object_detection/protos/*.proto: No such file or directory
在使用TensorFlow的object_detection模块问题记录:配置:window10 tensorflow-gpu protoc3.8版本下载地址:https://github.com/protocolbuffers/protobuf/releases1.ImportError: No module named 'object_detection' 问题:①将自己下载...
2019-06-11 13:38:47
3065
原创 【Opencv3+Python3入门(22)验证码识别】
验证码识别:利用Opencv+Tesserct-OCR(TesseractOCR ,它是一款由HP实验室开发由 Google 维护的开源 OCR(Optical Character Recognition , 光学字符识别)引擎)因此需要借助该引擎完成识别过程。首先采用Opencv预处理,然后利用Tesserct-OCR进行验证码识别 依赖于pytesseract模块以及PIL模块,需...
2019-04-29 18:01:12
899
原创 【Opencv3+Python3入门(21)人脸检测】
人脸检测主要利用Opencv中的API与其中封装好的Haar人脸特征数据(小数部分较多计算更复杂)以及LBP数据(多数为整数计算)来调用进行人脸识别的任务。若下载安装了Opencv,则其文件中包含数据,或者可以取其github网站上下载文件。Haar特征数据下载地址:https://github.com/opencv/opencv/blob/master/data/haarcascad...
2019-04-29 11:55:46
605
原创 【Opencv3+Python3入门(20)分水岭算法】
分水岭算法基于距离变换的分水岭分割算法一般流程:1,输入图像2,变换为灰度图像3,二值化图像4,距离变换5,寻找种子点6,生成marker7,分水岭变换8,输出图像#20,分水岭算法import cv2 as cvimport numpy as npdef image_Watershed(image): print(image.shape)...
2019-04-29 10:47:40
1318
原创 【Opencv3+Python3入门(19)膨胀腐蚀开闭运算等形态学操作】
膨胀腐蚀操作:图像的形态学是图像处理中可以化为一个单独的分支,主要是由数学的集合论中的相关理论发展而来,用于处理灰度图像与二值化图像中的重要手段。膨胀(Dilate):n*n模板(矩形或十字交叉等)对图像所有像素进行窗口滑动,用窗口内最大值替换中心像素(即锚点)的值。腐蚀(Erode):n*n模板对图像所有像素进行窗口滑动,用窗口内最小值替换中心像素(即锚点)的值。#19,...
2019-04-29 10:05:58
807
原创 【Opencv3+Python3入门(18)几何对象测量】
对象测量主要包括一些:弧长与面积,图像中的多边形拟合,几何矩计算等。下面了解其API的使用方式。弧长与面积:步骤:轮廓发现完成,计算每个轮廓的弧长与面积,单位为像素。### 18,几何对象测量import cv2 as cvimport numpy as npdef image_Measure(image): #防止随机噪声影响效果,首先对原图高斯滤波 dst...
2019-04-28 23:36:58
610
原创 【Opencv3+Python3入门(17)图像轮廓发现】
Opencv中有两个主要用于轮廓发现的API:findContours发现轮廓,drawContours绘制轮廓。轮廓发现的原理:是基于图像的边缘提取的基础上,寻找对象的轮廓的方法。因此边缘提取的阈值大小会影响到轮廓最终的结果好坏。#17,轮廓发现import cv2 as cvimport numpy as npdef image_Contours(image): #防...
2019-04-28 21:47:04
757
原创 【Opencv3+Python3入门(16)图像霍夫圆检测】
Opencv中实现霍夫圆检测一般是基于图像梯度的实现,而且其检测效果对噪声特别敏感,因此需要对图像首先进行滤波处理。一般步骤:1,检测边缘,发现可能的圆心。2,基于第一步的基础上,计算可能的候选圆心的半径大小。图像霍夫圆检测在实际的检测中,各种参数之类需要自行进行调节。#16,霍夫圆检测import cv2 as cvimport numpy as npdef ...
2019-04-28 11:54:07
1867
原创 【Opencv3+Python3入门(15)图像霍夫变换直线检测】
图像霍夫变换直线检测霍夫直线检测是利用点在直角坐标与极坐标之间的互相转换关系来进行求解的。检测前提:边缘检测已经完成。根据图像的边缘上的每一个点的坐标(x,y)都有其对应的极坐标表示,此时若固定(x,y),将角度θ作为自变量,极半径r作为因变量,则可以根据下面的表达式(即上面红色直线的平面坐标表达式,(x,y)为其上面的点):得到r随θ变化的曲线。在不知道对于每一个图像...
2019-04-26 19:05:22
1664
原创 【Opencv3+Python3入门(14)图像Canny边缘检测】
图像Canny边缘检测算法为一种非常有效的图像边缘检测的算法。基本步骤参考:https://blog.csdn.net/KID_yuan/article/details/88566444#14,canny边缘检测import cv2 as cvimport numpy as np#边缘检测算法def edge_image(image): blurred = cv....
2019-04-26 15:02:05
429
原创 【Opencv3+Python3入门(13)图像的梯度】
Opencv中已经封装好了API用于处理图像的梯度,因此了解其调用方式。#13,图像梯度import cv2 as cvimport numpy as npdef sobel_demo(image): #使用sobel算子计算梯度 grad_x = cv.Sobel(image, cv.CV_32F, 1, 0) grad_y = cv.Sobel(image...
2019-04-26 15:01:56
226
原创 【Opencv3+Python3入门(12)图像金字塔与拉普拉斯金字塔】
高斯金字塔的过程为:高斯模糊+降采样拉普拉斯金字塔:本层图像上采样,减去上一层的高斯金字塔对应图像即可(即差值)。#12,图像金字塔操作import cv2 as cvimport numpy as np#高斯金字塔def pyramid_demo(image): level = 3 #设置金字塔的层数为3 temp = image.copy() #...
2019-04-26 14:34:21
656
原创 【Opencv3+Python3入门(11)图像二值化方法】
Opencv中封装好了二值化许多方法,例如,全局阈值二值化和局部阈值二值化。二值化方法可以应用在比如图像的前景与背景的分割。#图像二值化处理import cv2 as cvimport numpy as npdef threshold_demo(image): #局部阈值 gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)...
2019-04-26 14:22:05
921
原创 【Opencv3+Python3入门(10)直方图绘制与直方图均衡化】
图像的直方图也是图像的一个重要的属性组成,通过分析直方图分布,可以初步大致推断图像的信息,另外通过直方图的一些计算,例如直方图匹配等,可以用于模板匹配和搜索等。除此之外,直方图均衡化也是对一幅图像进行对比度调整的重要方法。## 10,绘制图像直方图import cv2 as cvimport numpy as npimport matplotlib.pyplot as plt...
2019-04-26 13:52:10
809
1
原创 【Opencv3+Python3入门(9)模糊操作与基本滤波操作】
图像的模糊处理,滤波,卷积等操作等是图像处理与计算机视觉中的一个重要内容。图像均值滤波:函数:cv.blur(src, ksize[, dst[, anchor[, borderType]]])#9,图像滤波操作import cv2 as cvimport numpy as npdef mean_Filter(image): #均值滤波 #第一个参数:输入...
2019-04-26 13:34:31
572
原创 【Opencv3+Python3入门(8)分割ROI兴趣区域与漫水填充】
在常见的计算机视觉问题中,通常我们只对图像中的某一部分区域感兴趣,比如人脸区域等,因此我们只需要对人脸区域部分进行提取,然后再进行后续的操作。图像ROI兴趣区域对于图像ROI区域,只需要将自己预先计算好的区域大概范围的图像值赋值给新的变量并显示即可。最方便的方式是使用Numpy来进行获取图像数组数据。#8.1,图片ROI切割import cv2 as cvimport ...
2019-04-26 12:13:54
1526
原创 【Opencv3+Python3入门(7)调整对比度与亮度使用createTrackbar()滑动条】
在Opencv中封装了许多函数,而这些函数的调用形式一般都是以cv.×××等命名的,根据意思来进行判断就可以判断出来个大概。图像调整对比度与亮度:#7,调整图片对比度和亮度import cv2 as cvimport numpy as npdef contrast_Ratio_brightness(image,a,g): #a为对比度,g为亮度 h,w,c=...
2019-04-26 10:35:39
2597
原创 【Opencv3+Python3入门(6)图像数据增强平移旋转仿射变换】
在深度学习等计算机视觉的一些应用领域,通常我们拿到的数据集很少或者数据千篇一律了,图像数据缺乏多样性和代表性,此时我们考虑需要对图像进行一定的旋转,平移,仿射变换等来对图像进行增强操作,以此来增加数据的多样性,进而可以训练出更好的网络模型。图像平移:import numpy as np import cv2 as cvdef imageShift(image): #图...
2019-04-26 09:15:41
1568
1
原创 【Opencv3+Python3入门(5)彩色图像通道分离与合并】
首先要了解,在Opencv中的图像数据通道存储顺序是BGR而不是RGB,和我们常规的显示通道顺序正好相反,可以通过结合matplotlib进行验证,并且进而实现对图像的通道分离与合并操作。彩色图像通道分离与合并#5,图像通道分离与合并import cv2 as cvimport numpy as npimport matplotlib.pyplot as pltdef spli...
2019-04-25 22:09:20
3797
原创 【Opencv3+Python3入门(4)图像色彩空间转换】
在图像处理的应用中各种色彩空间的转换非常重要,尤其是RGB与HSV(HIS)空间相互转换,H(色调)S(饱和度)V(亮度)。图像色彩空间转换RGB:• RGB颜色模型称为与设备相关的颜色模型,RGB颜色模型所覆盖的颜色域取决于显示设备荧光点的颜色特性,与硬件相关。• 使用最多,最熟悉的颜色模型。它采用三维直角坐标系。红、绿、蓝原色是加性原色,各个原色混合在一起可以产生复合色。• ...
2019-04-25 22:09:02
756
原创 【Opencv3+Python3入门(3)图像数组运算操作】
在python版本的opencv中图像数据是以多维数组的形式读取与操作的,因此利用opencv并结合numpy对图像数据进行操作非常方便地可以对图像某一位置像素数据或者某一区域的像素进行修改和添加等操作。还可以使用opencv中自带的cv.bitwise_not(image)对图像像素进行取反。以及最基本的使用for循环来复制每个通道的像素,这样会消耗更多时间。1,图像像素取反操作:...
2019-04-25 12:58:18
1401
原创 【Opencv3+Python3入门(2)读取摄像头与视频文件】
在Opencv中读取视频文件时,需要注意的是视频文件的路径,如果遇到路径即使是全英文时仍然不能读取的情况时,需要在前面加上r,表示原生字符串,(我读取图片操作时不管是'F:\OutputResult\srcImage\image.jpg',还是“\\”,还是“/”都可以;但是读视频就需要加一个r,不知道是为什么,可能是由于版本的问题。)#2,python读取摄像头或视频文件import ...
2019-04-24 23:02:10
1133
原创 【Opencv3+Python3入门(1)图像读取与保存】
Opencv是于1999年由Intel建立,如今由Willow Garage提供支持。实现了图像处理和计算机视觉方面的很多通用算法,可以说是计算机视觉入门的必要了解的基础,并且包括许多编程语言例如:C++、Python、Ruby、MATLAB等的接口。若学过C++中的opencv,再学习其在python中的应用的话可能会很容易理解,不过,由于最近用python比较多,所以就想着把Opencv在...
2019-04-24 15:22:03
736
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人