自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 Blob分析

在计算机视觉中的Blob是指图像中的具有相似颜色、纹理等特征所组成的一块连通区域。显然,Blob分析其实就是将图像进行二值化,分割得到前景和背景,然后进行连通区域检测,从而得到Blob块的过程。

2023-02-20 14:44:24 376

原创 【图像处理】——距离变换算法

通过本文可以了解到1.什么是图像的距离?2.什么是距离变换?3.距离变换的计算4.OpenCV中距离变换的实现距离(distance)是描述图像两点像素之间的远近关系的度量,常见的度量距离有欧式距离(Euchildean distance)、城市街区距离(City block distance)、棋盘距离(Chessboard distance)。欧式距离欧式距离的定义源于经典的几何学,与我们数学中所学的简单几何的两点之间的距离一致,为两个像素点坐标值得平方根。

2023-01-26 15:30:03 7361 1

原创 PCL点云库调库学习系列——随机采样一致性(附完整代码)

随机采样一致性实现功能从输入点云中,找到符合某种模型的点云集具体为:随机产生一系列点云,创建两个随机采样一致性模型为球和平面,根据参数的不同选择不同的模型,执行参数估计,可以得到模型中的局内点,最后将结果可视化显示出来关键函数//1.随机采样执行流程pcl::SampleConsensusModelPlane<pcl::PointXYZ>::Ptr model_p(new pcl::SampleConsensusModelPlane<pcl::PointXY

2021-09-27 09:09:54 731

原创 PCL点云库调库学习系列——关键点NARF(附完整代码)

PCL–关键点关键点也称为兴趣点,它是 2D 图像、3D 点云或曲面模型上,可以通过定义检测标准来获取的具有稳定性、区别性的点集。从技术上来说,关键点的数量相比于原始点云或图像的 数据量小很多,它与局部特征描述子结合在一起,组成关键点描述子,常用来形成原始数据 的紧凑表示,而且不失代表性与描述性,从而可以加快后续识别、追踪等对数据的处理速度。关键点提取是 2D 与 3D 信息处理中不可或缺的关键技术。1 NARF 关键点提取NARF(Normal Aligned Radial Feature)关键点

2021-09-25 10:53:42 1246 1

原创 PCL点云库调库学习系列——点云滤波(附完整代码)

1 点云滤波PCL中总结了集中需要进行点云滤波处理的情况,分别如下:点云数据密度不规则需要平滑。因为遮挡等问题造成离群点需要去除。大量数据需要进行下采样。噪声数据需要去除。对应的方法如下:按具体给定的规则限制过滤去除点通过常用滤波算法修改点的部分属性对数据进行下采样PCL点云格式分为有序点云和无序点云,针对有序点云提供了双边滤波、高斯滤波、中值滤波等,针对无序点云提供了体素栅格、随机采样等。1.1 直通滤波直通滤波主要功能共是指定一个维度,去掉在用户指定范围内或范围外的点关

2021-09-24 16:28:34 4057 1

原创 点云可视化

点云的可视化可视化(Visualization)是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕显示出来,并且进行交互处理的理论、方法和技术。PCL中pcl_visualization库中提供了可视化相关的数据结构和组件,其主要是为了可视化其他模块算法处理后的结果,可直观的反馈给用户。其依赖于pcl_common、pcl_range_image、pcl_kdtree、pcl_IO模块以及VTK外部开源可视化库。下面给出2个常用的可视化类。1 简单点云可视化#include <p

2021-09-22 08:31:35 2249

原创 PCL点云库调库学习系列——k-d tree与八叉树

k-d tree与八叉树1 k-d tree与八叉树本文并不涉及具体原理的解释,文章着重在k-d树与八叉树在近邻搜索方面的API的使用1.1 k-d treek-d tree算法及原理: https://www.cnblogs.com/flyinggod/p/8727584.html实现功能使用k-d tree找到某个具体点的k近邻在指定半径内搜索其近邻关键API//k近邻搜索int pcl::search::KdTree< PointT, Tree >::nea

2021-09-21 09:49:18 408

原创 LeetCode每日一题打卡001——搜索旋转排序数组

二分法二分法的常见应用是在有序数组中搜索给定的某个目标值的索引,比起使用暴力搜索的方法,它能提供O(logn)的复杂度二分查找框架1int binarySearch(vector<int>& nums, int target) { int left = 0; int right = nums.size() - 1; while (left <= right) { int mid = (right - left) / 2;.

2021-09-20 16:03:01 93

原创 PCL点云库调库学习系列——点云数据输入与输出

0 点云数据的输入与输出前言本文是PCL调库学习的第一篇的文章,之所以打算写一个这样的系列,最主要的还是为了自己日后复习,或者做项目时,能够快速的了解某个函数或功能的使用文章所有代码均参考于pcl官网,对于某一种库的学习,很多时候,官方提供给我们的资料就已经足够丰富了,并且还是一手资料。只是可能因为是英文的所以劝退了很多人,但如果你抱着同时学习英语的态度来阅读,可能就会有两份收货,再者现在翻译软件这么多,直接整个全文翻译,即使翻译结果不那么准确,只要加上一点点自己的理解也还是能够将理解大致的意思

2021-09-20 14:53:15 2093

原创 如何打包一个QT程序

如何打包一个QT程序Windows系统下通过windeployqt工具1.以release模式运行程序2.将release文件夹中的可执行文件复制到一个路径下,推荐桌面3.在桌面新建一个文件夹,并将刚刚的可执行文件放进去4.运行windeployqt.exe程序5.进入到刚刚新建的文件夹路径中6.执行命令windeployqt test.exe,其中test为可执行文件的文件名7.等待执行完毕后,可以发现文件夹中多了运行程序所需要的dll8.该文件夹打包,可以在其他电脑下运行L

2021-01-29 18:25:13 1491

翻译 camera-calibration源代码

#include <iostream>#include <sstream>#include <string>#include <ctime>#include <cstdio>#include <opencv2/core.hpp>#include <opencv2/core/utility.hpp>#include <opencv2/imgproc.hpp>#include <opencv2

2020-10-26 20:45:15 993

原创 从零开始学习python(5)——分支与循环结构

1. 分支结构Python中的分支结构主要是由if语句实现的,一共有四种。1.1 if语句判断一个条件,如果这个条件成立,就执行其包含的某条语句或某个代码块。语法规则:if condition:​ statement(s)测试代码:#测试一if 5 < 3: print("Inside") print("Here")print("Outside")#结果:Outside当if的条件成立时,程序才会执行它所包含的语句或者代码块,这里由于5 > 3,

2020-09-13 22:52:12 335

原创 Python的短路逻辑

抛砖引玉之前在布尔类型的文章中,我留下了一个问题,现在是时候解答了。#测试一>>> 2 and 44>>> 3 or 53>>> "python" and "C"'C'>>> "Hello" or 123'Hello'结果为什么是这样子的呢?在解答之前,我们先看一下下面这段代码:#测试二>>> (not 3) or (0 and 5) or (4 and 7) or (2 and 6) or

2020-09-12 23:32:03 919 1

原创 从零开始学习python(4)——布尔类型

布尔类型布尔类型是一种数据类型,它的值只有真与假,在Python中用True和False来表达。我们先来IDLE中做一下测试,通过使用内建函数bool()可以直接给出相应的结果:>>> bool("假")True>>> bool("False") #字符串True>>> bool(False)False>>> bool("") #双引号中没有内容False>>> bool(" ") #输入空

2020-09-11 11:01:26 188

原创 Python跟我说0.1+0.2!=0.3,难道这么多年的数学白学了?

问题今天闲来无事在IDLE中计算了一下0.1 + 0.2,结果让我大吃一惊,竟然等于0.30000000000000004,纳尼?虽然只是小数点后面第十七位多了个4,但是这也令我陷入深深的思考,难道我这么多年的数学白学了?我们先来看一下程序运行的结果:当然有些同学可能会想这会不会是一个bug呢?那么我们来做一些测试:这段程序大致的意思就是当i < 1时,i会加0.1,然后将每一个i的值都打印出来。看到结果,大家应该不会说python有那么多的bug吧,这里面似乎有着不为人知的秘密呢。解惑

2020-09-10 11:00:25 5958 1

原创 从零开始学习python(3)——数字类型

数字类型Python中的数字类型有三种:整数,浮点数和复数。整数:整数的的概念就不用说了,像1,2,99999都是整数。浮点数:可以理解为带小数点的数,如0.1,23.3432,10.0都是浮点数。复数:复数这个概念我们应该是在高中的时候接触到的,复数由两部分组成实部+虚部,如2+3j等,Python中虚部使用j表示的。在之前介绍运算符的文章中,我有将常用的一些运算符都给列出来,感兴趣的朋友可以前去查看,传送门。同时为了方便说明今天的实例,我将一些用于数字运算的符号在下面列出:操作结果

2020-09-10 07:59:45 137

原创 从零开始学习python(2)——字符串基础

字符串Python中可以有三种方式表达字符串:单引号,双引号,三引号在Python中一下代码是完全相同的print("I love Python")print('I love Python')但是为什么Python要提供两种实现方式呢?这是不是多此一举了,事实上不是的,我们看看下面这一行程序:print('Let's go!')运行这条语句会发生报错,我们在使用单引号或者双引号来表示字符串的时候,一定要注意文本两端的引号必须是成双成对的,否则就会像上面一样发生报错。Python会将Let当

2020-09-09 08:16:16 105

原创 从零开始学习python(1)——表达式,语句,变量与运算符

本文算是从零学习Python的真正的第一篇,正式的开始了解Python的基础语法。表达式和语句语句是一个会产生影响的代码单元,例如新建一个变量此时n的值被赋予成17。表达式是值、变量和运算符的组合。 值自身也被认为是一个表达式,变量也是,因此下面都是合法的表达式:变量名通常情况下,程序员会为变量取一个比较有意义的名字,以便于记录该变量的用途。变量名可由字母,数字和下划线_组成,但是不能以数字开头,同时严格区分大小写,对于变量名的命名原则对于不同的场合或者公司会有不同的准则,对于我们初学者.

2020-09-06 23:38:16 348

原创 从零开始学习python(0)

本系列算是对自己学习python全过程的一个记录,主要是对学习过程的相关知识进行总结,同时也会对较难理解的知识点进行单独分析,由于我也是初学者,文中如有不对之处,还望指出,大家一起共同进步~初始PythonPython可以干什么近十年python可谓是最热门的编程语言之一,甚至可以说没有之一,只要是对编程有所接触过的人,都会听到它的消息,我也是因为经常看到它的身影,从而产生了想要了解它的想法。有人说python除了“生孩子”,几乎没有它不能干的,它真的有这么厉害吗?通常我们经常听到的应该是使用p.

2020-08-21 10:12:01 330

原创 关于这几个概念——串行通信、串口、UART、RS232、RS485你是否真的能够区分开来?

串行通信、串口、UART、RS232、RS485,不知道你第一次看到这些概念的时候是否一头雾水,然后在简单的接触了一段时间后,对这些概念还是不怎么准确的说出它们之间的区别,至少我是这样的,然而今天我就压将其彻底弄懂。本文主要是区分这几个概念,并不会涉及到相关协议的具体代码编写。首先对串口通信和串口进行解析,我们先来看一下百度百科对这两者的解释:串行通信作为计算机通信方式之一,主要起到主机与外设以及主机之间的数据传输作用,串行通信具有传输线少、成本低的特点。串行接口简称串口,也称串行通信接口或串行通讯

2020-08-13 01:28:39 2123 2

原创 【C语言】链表的操作——增删改查——一文详解

1.什么是链表1.1什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。​ ----百度百科上面关于链表的定义来源于百度百科,光看定义我想大部分人跟我初次看的时候一样,这讲的是个啥玩意?没事通过本文你会有一个更加

2020-08-06 10:51:40 7668

原创 【C语言】一文全了解常用格式化函数

格式化输入与输出本文通过函数原型–参数–返回值–实例的顺序一一解析C语言中常用输入输出函数。首先对在格式化输入输出中经常出现的控制格式以表格形式列出。格式控制字符以printf为例: printf(“%[falgs][width][.prec ][hIL]type”)flagsfalgs说明-左对齐+在前面放+或者-00填充width或.precwidth或.prec说明number最小字符数*下一个参数是字符数.n

2020-07-02 01:13:28 2920

原创 【C语言】函数指针与指针函数

【C语言】函数指针与指针函数最近在阅读cJSON的源代码,在看见如下代码是产生了,深深地疑惑,这个是什么声明?用来干嘛的?void *(*malloc_fn)(size_t sz);void (*free_fn)(void *ptr);在读懂这两句代码之前我们先来了解熟悉两个概念——函数指针和指针函数,想必和我一样处于C语言入门阶段的小伙伴对这两个概念并不是十分熟悉,接下来我们一起学习一下。函数指针函数指针首先它是一个指针变量,其次它是指向函数的,正如每个变量都有地址,我们知道每一个函数也是都

2020-06-24 15:40:54 1032 1

原创 C语言学习笔记(一)

关于C语言C语言历史学习一项新的技术,我们总要先学习它的历史,了解它的起源不仅有利于我们把握他的特点,也可以让我们清楚他的发展前景。C语言于1972年11月问世,1978年美国电话电报公司(AT&T)贝尔实验室正式发布C语言,1983年由美国国家标准局(American National Standards Institute,简称ANSI)开始制定C语言标准,1989年,ANSI发布了第一个完整的C语言标准——ANSI X3.159—1989,简称“C89”,不过人们也习惯称其为“ANSI C

2020-06-08 18:17:39 162

一个CPP实现的日志库

log4cplusplus 基于 log4cplus 封装的自用的 C++ 日志库 - 线程安全 - 支持异步 - 支持中文路径和内容 - 支持输出到文件、控制台、调试器 - 支持格式化打印

2023-02-03

opencv的QT编译版本,opencv的版本是3.4.10,编译器的版本的MINGW32位

直接解压可用,opencv的版本是3.4.10,编译器的版本的MINGW32位,使用时库目录配置路径如下:LIBS += H:\QtBuild\lib\libopencv_*.a。

2023-02-03

cJSON学习源码.zip

cjson官方源码,无改动,适合C语言学习者的入门开源项目,欢迎大家随意下载,程序编写条理清晰,简单易懂,主要对cjson.h和cjson.c文件进行阅读与研究即可。

2020-07-16

空空如也

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

TA关注的人

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