自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 颜色识别透视变换代码

识别路标

2022-06-04 21:14:45 299 1

原创 利用opencv识别路标

识别路标

2022-06-04 21:00:03 1111

原创 Ubuntu18.04在vscode上搭建ROS环境

在vscode上搭建ROS环境安装vscode集成ROS插件在vscode上创建ROS功能包vscode 中编译 ros安装vscode集成ROS插件需要安装以下5个插件C/C++CMakeCMake ToolsPythonROS在vscode上创建ROS功能包1.选定src文件夹右击----->点击 creat catkin package2.在弹出来的框框里面输入功能包的名字以及添加相关依赖vscode 中编译 ros快捷键 ctrl + shift + B 调用编译,

2021-04-07 20:58:15 1305 1

原创 编译RTS包所需要安装的依赖

安装libg20:sudo apt-get install ros-melodic-libg2o安装Glog:sudo apt-get install libgoogle-glog-dev安装ROS所需第三方依赖包:sudo apt install -y ros-melodic-cv-bridgesudo apt install -y ros-melodic-image-transportsudo apt install -y ros-melodic-stage-rossudo a

2021-04-03 19:22:56 349

原创 ROS-SLAM/navigation

NavigationNavigation摘要navigation概述硬件需求Navigation摘要2D导航堆栈从里程表,传感器流和目标姿势中获取信息,并输出安全安全的速度指令,这些指令将发送到移动机器人上navigation概述navigation从里程计和传感器数据流获取信息,转换速度命令发送给移动机器人.但是,想要在任意机器人上使用导航功能包集有点复杂.使用导航包集的先决条件是:1.机器人必须运行ROS2.有一个tf变换树3.使用正确的ROS消息类型发布传感器数据硬件需求导航功能包集

2021-03-28 16:31:57 265

原创 ROS-SLAM/tf

TF一.tf摘要二.tf简介演示tf命令行工具的使用1.view_frame2.evince frames.pdf3.rqt_tf_tree4.rqt&5.tf_echo6.tf_monitor7.roswtf插件三.教程讲解1.在TF中使用传感器信息一.tf摘要tf是一个软件包,可让用户随时间跟踪多个坐标系.tf保持时间缓冲树结构中的坐标系之间的关系,并允许用户在任意所需的时间点在任意两个坐标系之间的转换点,向量等二.tf简介演示描述:该演示将带更好的理解tf能干什么事1.下载demosudo

2021-03-22 20:06:33 726

原创 ROS-SLAM/rviz

这里写目录标题概述用户文件讲解概述rviz是ROS中一款三维可视化平台,一方面能够实现对外部信息的图形化显示,另外还可以通过rviz给对象发布控制信息,从而实现对机器人的监测与控制.用户文件1.用户指南2.故障排除3.内置显示类型4.基本形状API包装器-rviz_visual_tools讲解...

2021-03-21 13:26:18 347

原创 迈德威视MV-SUA133GC-T工业相机驱安装

迈德威视MV-SUA133GC-T工业相机驱安装1.首先要下载一个驱动文件:链接: https://pan.baidu.com/s/19R0WvTC0CwLFNqwvS6g1Ag 提取密码: 2l412.下载好后解压文件,进入linuxSDK驱动文件夹,打开终端输入 sudo bash install.sh3.根据本机系统格式在lib文件夹中选取合适的libMVSDK.so文件比如我的系统是arm64的,就要进入到arm64这个文件夹中在终端输入:sudo susudo cp li

2021-03-19 13:28:05 2152 3

原创 NVIDIA Jetson TX2 ARM64安装软件教程

硬件平台: NVIDIA Jetson TX2ARM64架构系统平台: Ubuntu18.04 LTS在安装软件之前先换源TX2的软件源为国外服务器,网速会很慢,需要换国内的ARM源。将文件改为国内源(注意修改之前先将原文件备份),还有一点要注意,换源需要换ARM的源,不要换成了pc平台的软件源。这里推荐两个国内源,将原来文件里面的内容全部替换成下面两个源之一就可以:清华源:deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenia

2021-03-10 19:48:43 1478 3

原创 opencv初级教程(C++版本)

opencv调用摄像头采集图像

2021-01-20 17:32:49 4163

原创 妙算MANIFOLD 2-G(128G)系统还原、使用教程

MANIFOLD 2是DJI为Onboard SDK开发者打造的第二代微型计算机,分为两个版本:Manifold 2-G(128G),Manifold 2-C(256G)。Manifold 2-G(128G)搭载NVIDIA Jetson TX2模块,,具备卓越的处理能力和响应速度,扩展灵活,可更加快速地完成复杂的图形处理工作,同时具备Wi-Fi功能,用于网络连接。...

2021-01-19 14:04:57 5775 13

原创 Ubuntu18.04自启动程序

第一步:打开 设置----->点击system settings(详细信息)----->点击user accounts(用户)----->点击右上角的Unlock(解锁)----->输入密码>将Automatic login(自动登录)设置为on打开。这样就可以免密码登录。第二步:给当前帐号设置默认管理员权限,终端运行:sudo visudo在文件最后加上这一句【用户名】 ALL=(ALL) NOPASSWD: ALL示例: 用户名为root时:

2021-01-18 13:22:57 700

原创 安装ROS-melodic版本

添加软件源sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'添加密匙 sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C65.

2021-01-15 12:03:59 309

原创 C++内联函数

为什么要使用内联函数的原因: 函数调用时,需要建立栈空间来保存调用时的现场状态和返回地址,并且进行参数传送,产生程序转移。系统完成这些工作都需要时间和空间方面的开销。因此,C++提供内联函数机制,定义一些功能比较简单、代码比较短的函数。编译时,系统把内联函数的函数体嵌入到每个函数调用处,节省了程序运行时的调用开销。 定义内联函数的方法是: 在函数名第一次出现的时,在函数名之前加上关键字inline。通常在函数原型中指定inline。若已在函数原型中指定inline,则函数定义时不能重复给出。..

2021-01-14 21:39:25 117

原创 opencv模板匹配-matchTemplate函数

模板匹配是一项在一副图像中寻找另一幅模板图像最相似部分的技术注意:模板匹配不是基于直方图的,而是通过在输入图像上滑动图像块,对实际的图像块和输入图像进行匹配的一种匹配方法matchTemplate( InputArray image, // 源图像,必须是8-bit或者32-bit浮点数图像 InputArray templ, // 模板图像,类型与输入图像一致,且尺寸不能大于源图像 OutputArray result, // 输出结果,必须是单通道32.

2021-01-09 00:58:25 495

原创 opencv图像修补-inpaint函数

图像修复技术原理:利用已被破坏的边缘,即边缘的颜色和结构,繁殖和混合到损坏的图像中,已达到图像修补的目的。运用场合:在实际运用中,图像常常会被噪声腐蚀,这些噪声有可能是镜头上的灰尘、水滴,或者是旧图片的划痕,而解决这些问题的良方,就是“图像修复”void inpaint( InputArray src, InputArray inpaintMask, OutputArray dst, double inpaintRadius, int flags

2021-01-08 23:51:11 1529 1

原创 opencv用椭圆拟合二维点集:fitEllipse函数

#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#includeusing namespace cv;using namespace std;int main(){Mat src=imread("/home/zdg/图片/OIP (3).jpeg");Mat src_gray,src_canny,dst;imshow(“原图”,src

2021-01-08 15:24:41 1395

原创 opencv返回外部矩形边界并寻找最小包围矩形:boundingRect函数、minAreaRect函数

#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#include<iostream>using namespace cv;using namespace std;int main(){ Mat src=imread("1.jpg"); Mat src_gray,src_canny,dst; imshow(

2021-01-08 12:08:31 1803

原创 opencv寻找和绘制物体的凸包-convexHull函数

#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#include<iostream>using namespace cv;using namespace std;int main(){ Mat src=imread("1.jpeg"); Mat src_gray,dst; imshow("原图",src)

2021-01-08 01:05:40 351

原创 opencv查找并绘制轮廓

一个轮廓一般对应一系列的点,在opencv中,可以使用findContours()函数从二值图像素中查找轮廓findContours经常与drawContours配合使用:使用findContours()函数检测到图像轮廓后,便可以用drawContours()函数将检测到的轮廓绘制出来。#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#i.

2021-01-08 00:41:43 404

原创 opencv直方图均衡化-equalizeHist函数

直方图均衡化的概念和特点:图像的像素灰度变化是随机的,直方图的图形高低不齐,直方图均衡化就是用一定的算法使直方图大致平和的方法。说简单一点,直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法。注意:在原图像对比度本来就很高的情况下,如果再均衡化则会使灰度调和,对比度会降低。在泛白缓和的图像中,均衡化会合并一些像素灰度,从而增大对比度。均衡化后的图片如果再对其均衡化,则图像不会有任何变化。由equalizeHist函数实现的灰度直方图均衡化算法,就是把直方图每个灰度级进行归一

2021-01-07 23:52:18 1094

原创 opencv累计概率霍夫线变换-HoughLinesP函数

使用霍夫变换之前,首先要对图像进行边缘检测处理,也就是说霍夫线变换的输入图只能是二值图简单原理:一条直线能够通过在平面寻找交于一点的曲线数量来检测,而越多曲线交于一点也就意味着这个交点表示的直线由更多的点组成,通过设置直线上的点的阈值来定义多少调曲线交于一点,这样才检测到了一条直线。累计概率霍夫线变换:HoughLinesP()函数累计概率霍夫线变换是标准霍夫变换算法的一个改进,它在一定的范围内进行霍夫变换,计算单独线段的方向以及范围,从而减少计算量,缩短计算时间。#include&.

2021-01-07 19:39:37 1101

原创 opencv边缘检测-canny函数

边缘检测一般步骤:1、滤波:这里推荐使用高斯滤波2、增强:增强算法可将灰度图点邻域强度值有显著变化的点凸显出来。可用形态学梯度来计算图像的梯度3、检测:可用canny、sobel、Laplacian算子进行边缘检测Canny算子canny边缘检测步骤:1、原图-------->灰度图2、高斯滤波3、canny边缘检测#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<open

2021-01-07 18:52:33 1865

原创 解决ROS编译出现缺少依赖项问题

解决方法如下:方法一1、先进入功能包的位置roscd package_name2、rosdep即可安装缺少依赖项rosdep package_name方法二用方法一这种方式安装依赖太过麻烦,如果出现缺少太多依赖的情况,则可能需要roscd进很多功能包里面再进行rosdep,这样实在是太过麻烦有一种直接安装功能包全部缺少的依赖的方法,如下:cd ~/catkin_wsrosdep install --from-paths src --ignore-src --rosdistro

2021-01-07 10:28:51 3120 1

转载 Ubuntu18.04 vscode(c++)配置opencv4.1.0

本文转载于:Ubuntu18.04 vscode(c++)配置opencv successful需要准备的东西:vscode vscode-c++编译环境 opencv,主要是修改三个文档,launch.json , c_cpp_properties.json , tasks.jsonvscode配置c++网上的教程较多,在这里就不再赘述。1、新建一个cpp文件,保存。2、vscode左侧方的debug按钮(小虫子)–Debug -> Open Configurations -> 打开备

2021-01-07 10:28:19 1152 1

原创 卸载ROS的方法

1)卸载全部ros:sudo apt-get remove --purge ros-* 卸载某个ros版本(ros版本可以共存,每次需要切换)如imelodic:sudo apt-get remove --purge ros-melodic或者先卸载包sudo apt-get purge ros-*   然后删除依赖,配置sudo apt-get autoremove2)检查 ~/.bashrc 以及/opt/目录是否有ros文件夹存在,有,则删除另一种方法:sudo apt-

2021-01-06 15:35:52 20942 2

原创 解决ROS常遇到的Couldn’t find executable named报错解决

解决办法:将执行文件打开权限允许作为程序执行文件。

2021-01-06 15:31:48 11264

原创 解决ROS由于Python版本问题导致roscore运行发生错误问题

问题分析:由于ROS1支持的是Python2.7版本,而我将Ubuntu自带的Python升级到了Python3.7版本,所以运行roscore时发生了相关错误。解决方案一:降低Python版本到2.7,方法如下:1、进入usr.bin目录cd /usr/bin/2、删除原默认编译器文件rm -r python3、复制python3编译器设置为原编译器文件cp python2 python解决方案二:更改ubuntu中默认python版本...

2021-01-06 14:53:07 1875

原创 解决运行roscore时出现报错问题

出现的报错如下:zdg@1:~$ roscore... logging to /home/zdg/.ros/log/5574b26e-2e7c-11eb-8470-4074e0a66b16/roslaunch-1-18514.logChecking log directory for disk usage. This may take a while.Press Ctrl-C to interruptDone checking log file disk usage. Usage is <1

2021-01-06 14:46:41 6317 6

原创 解决安装ROS时sudo rosdep init的时候出现错误问题

sudo: rosdep:找不到命令1、先安装这个依赖sudo apt install ros-melodic-ros-base安装完之后出现这个错误:ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.2、打开host.

2021-01-06 14:44:18 925

原创 解决卸载ROS后再安装ROS出现依赖不会被安装报错问题

zdg@1:~$ sudo apt install ros-melodic-desktop-full正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件包尚未被创建或是它们已被从新到(Incoming)目录移出。下列信息可能会对解决问题有所帮助:下列软件包有未满足的依赖关系: ros-mel

2021-01-06 14:41:23 1291 1

原创 opencv图像二值化操作-Threshold、adaptiveThreshold函数

函数threshold对单通道数组应用固定阈值操作。该函数的典型应用是对灰度图进行阈值操作得到二值图像或者是去掉噪声。固定阈值操作:Threshold()函数#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#include<iostream>using namespace cv;using namespace std;in.

2021-01-06 12:55:19 562

原创 opencv尺寸调整-resize函数

#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#include<iostream>using namespace cv;using namespace std;int main(){ Mat src=imread("/home/zdg/图片/铅笔.jpg"); Mat dst; imshow("原图",

2021-01-06 11:04:05 542

原创 opencv漫水填充-floodFill函数

漫水填充:说简单点,就是自动选中了和种子子点相连接的区域,接着将该区域替换成指定的颜色#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#include<iostream>using namespace cv;using namespace std;int main(){ Mat src=imread("1.jpeg.

2021-01-06 10:50:16 705

原创 opencv形态学滤波:开运算、闭运算、形态学梯度、顶帽、黑帽-morphologyEx函数

形态学的高级形态,往往都是建立在腐蚀和膨胀的过程这两个基本操作之上的。而关于腐蚀和膨胀操作得出来的效果出是怎么样的,请参考这篇文章:《opencv形态学滤波:腐蚀与膨胀》开运算:先腐蚀后膨胀的过程闭运算:先膨胀后腐蚀的过程形态学梯度:膨胀图与腐蚀图之差对二值图进行这一操作可以将团块的边缘突出出来,可以用形态学梯度来保留物体边缘轮廓顶帽:原图像与上文刚刚介绍的“开运算”的结果图之差因为开运算带来的结果是放大了裂缝或者局部低...

2021-01-06 09:14:02 460

原创 opencv形态学滤波:腐蚀与膨胀-dilate(膨胀)、erode(腐蚀)函数

膨胀与腐蚀主要功能如下:消除噪声分割出独立的图像元素,在图像中连接相邻的元素寻找图像中的明显的极大值区域或极小值区域求出图像的梯度经膨胀操作出来的效果图看起来就是:亮的更亮经腐蚀操作出来的效果图看起来就是:暗的更暗膨胀–dilate函数:#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#include<iostream&

2021-01-05 22:08:15 844

原创 opencv多通道图像分离并且合成多通道图像-split、merge函数

#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#include<iostream>using namespace cv;using namespace std;int main(){ Mat src=imread("/home/zdg/图片/颜色识别/颜色识别.jpg"); Mat dst; imsho

2021-01-05 20:58:00 417

原创 opencv图像混合-addWeighted函数

#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#include<iostream>using namespace cv;using namespace std;int main(){ Mat src=imread("1.jpg"); Mat src1=imread("2.jpg"); Mat dst;

2021-01-05 20:12:27 300

原创 opencv在空白图像上画圆形、线、矩形、椭圆形以及显示文字

#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#include<iostream>using namespace cv;using namespace std;int main(){ Mat src=Mat::zeros(1080,1080,CV_8UC3);//创建一张空白图像 putText(src,"h

2021-01-05 18:52:49 622

原创 opencv用for循环创建滑动条调参数-createTrackbar、inRange函数

不需要写回调函数,可方便调节各种预处理API的参数#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>#include<iostream>using namespace cv;using namespace std;int hmin=0,smin=0,vmin=0,hmax=0,smax=0,vmax=0;int main(){

2021-01-05 00:23:01 361

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除