自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixinhum

后青春期的诗

  • 博客(316)
  • 资源 (42)
  • 问答 (4)
  • 收藏
  • 关注

原创 ROS学习番外篇15—nuScenes-LidarSeg数据集的多帧数据整理

前面我们介绍了如何下载和解析nuScenes-LidarSeg数据集,然而处理的对象还是单帧点云。本篇博客将对数据集提供的点云系列数据进行解析和重新整理,使得程序可以非常方便的按照顺序读取850个系列中的每个系列的点云数据。运行上面的代码,可以得到顺序记录每个系列点云信息的850个文件,放置在sample_data_lidar_seq文件夹(这个文件夹需要手动创建)中。有了这些文件,就可以按照顺序处理点云。

2023-01-29 21:15:30 9

原创 使用OpenCV进行Delaunay三角剖分

使用OpenCV进行Delaunay三角剖分的代码示例

2022-12-30 16:55:07 27

原创 Ubuntu系统安装微信(解决高分辨率屏幕问题及图标显示问题)

Ubuntu系统安装微信(解决高分辨率屏幕问题及图标显示问题)

2022-11-24 17:46:46 214

原创 Python解决PySide/PyQT等界面库的界面卡死问题

python解决界面库的界面卡死问题

2022-11-18 01:41:51 673

原创 ROS学习番外篇14—nuScenes-LidarSeg数据集的下载和解析

nuScenes-LidarSeg数据集的下载和解析

2022-08-17 17:59:03 540

原创 无人机/无人车仿真软件学习与实践---CoppeliaSim教程3---群体性能优化

上一篇教程我们讲述了怎么使用Python连接CoppeliaSim对里面的无人机进行控制,也讲述了怎么通过多进程的方式进行调用。在大多数情况下学会这些手段就足够进行仿真操作,可将仿真的重点转到算法的验证上,然而对于群体无人机算法的验证则是个例外。这类算法的验证往往需要对一堆无人机进行仿真,如果不对仿真性能进行优化,跑一次实验可能得半天到一天。这样一来速度慢不说,很多bug的调试也会因为无法快速获得反馈而变得无从下手。在本篇教程中,我们将深入探讨如何对仿真软件进行性能优化,以实现快速的大规模无人机集群仿真

2022-05-23 16:20:43 402 1

原创 Windows下使用DCMTK开源库对DICOM协议的医学图像进行解析与显示

DICOM(Digital Imaging and Communications in Medicine),是用于医学影像处理、储存、打印、传输的一组通用标准协定。目前,被广泛应用于放射医疗,心血管成像以及放射诊疗诊断设备(X射线,CT,核磁共振,超声等),并且在眼科和牙科等其它医学领域得到越来越深入广泛的应用。要获取以DICOM格式存储的图像,可以选择阅读其格式文档自行解析,也可以用开源库来进行。本篇博客我们将介绍如何在Windows下使用DCMTK开源库对DICOM协议的图像进行解析与显示。首先下载

2022-05-12 11:48:13 1370

原创 OpenGL工程实现实用教程5---freeglut库按钮控件实现

在前面的文章中,我们已经介绍了如何使用OpenGL在窗口中渲染中文文字。将这些文字放到窗口内指定的位置,便是GUI中常见的“文字标签”。在本篇文章中,我们将进一步介绍如何用OpenGL来实现另外一种常见GUI控件“按钮”。“基础按钮”控件的实现要实现一个“基础按钮”控件非常简单,在想要放置按钮的位置画出一个矩形,当鼠标放置到该矩形上并做出点击操作时改变其绘图(比如把矩形缩小),并在后台运行相应的单击响应代码即可。具体的步骤如下:判断鼠标左键按下的位置是否在按钮所在的位置判断函数bool OnMo

2022-04-07 11:50:57 573 1

原创 ROS学习番外篇13—SemanticKITTI数据集的IMU等原始信息获取

最近正在研究的算法需要用到点云的IMU信息,SemanticKITTI是针对KITTI的odometry数据集进行的精细标注,因此很多的原始信息可以从KITTI的odometry数据包中获得,比如车辆的姿态信息POSE等,然而odometry数据集并不包含车辆的IMU等原始信息(该数据原本是用来进行slam等算法的评估的),因此IMU等原始信息得从KITTI的原始数据中获得,这就要求我们知道odometry数据与原始数据之间的对应关系。在下载了一百多g数据并仔细匹配了整整两天之后,本人终于不太完美地完成了

2022-04-06 21:01:11 578

原创 ROS2系统学习番外篇1---用CLion开发ROS2程序(编程、编译、调试)

之前一直用VSCode开发ROS,最近入职和青基的事情终于告一段落,也用学校的邮箱申请到了CLion的高校免费资格(听之前实验室的同学们说CLion很方便),遂开始考虑是不是要用CLion取代VSCode作为ROS的开发IDE。于是说干就干,开始动手搭建基于CLion的ROS2开发环境,这篇博客是这个折腾的全过程。创建ROS2工程首先,先按照下面博客的操作创建一个ROS2的工程:https://blog.csdn.net/weixinhum/article/details/123800798?spm

2022-03-29 16:02:42 1031

原创 ROS2系统学习3---第一个“Hello World”程序---即工作空间创建与包创建

工作空间创建ROS2创建工作空间和ROS1基本相同。首先创建工作空间文件夹,命名为ROS2(可以命名别的),然后在该文件夹下新建一个src文件夹,直接退回到ROS2文件夹下,运行如下代码进行编译。colcon build编译完成后就会在工作空间中生成build、install、log三个文件夹。打开install文件夹,可以看到与ROS1的devel很类似的几个文件。以上我们就完成了ROS2工作空间的创建。对比ROS1,可以看到ROS2工作空间的创建基本一致,只是少了初始化的环节,并且包的编

2022-03-28 17:24:58 945

原创 无人机/无人车仿真软件学习与实践---CoppeliaSim教程2---无人机的仿真与外部控制

在正式介绍怎么用CoppeliaSim进行无人机的仿真和外部控制之前,我们先看看Python连接CoppeliaSim需要作什么操作。Python连接CoppeliaSimCoppeliaSim在“C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programming”文件夹下放置了一系列与其连接所需要的库。针对python语言的连接库在“C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programm

2022-03-23 20:34:11 1958

原创 无人机/无人车仿真软件学习与实践---CoppeliaSim教程1---Win10/Win11下的安装

下载地址:https://www.coppeliarobotics.com/downloads选择教育版本(Edu)下载,本人下载的是CoppeliaSim V4.3.0版本(本教程全部基于改版本编写,因此如果版本升级并废弃了部分代码即可导致教程的部分错误,需要自行到官方阅读文档进行修改)安装下载完成后双击安装安装过程一路next,无法选择安装路径,最终安装的位置为“C:\Program Files\CoppeliaRobotics”分辨率设置本人使用的是4K屏幕,安装完打开程序发现字体非常

2022-03-23 20:21:50 944

原创 无人机/无人车仿真软件学习与实践---序言

之前读博的时候一直使用团队自主设计的无人车在路上做实验,验证感知代码时则使用公开数据集和车上实时录制的bag包进行,对仿真器的掌握程度一直存在于听说有这么一个东西的程度。毕业之后,新加入的团队主要搞的是无人机,而无人车平台虽然有部分硬件,但离可以实车测试还有一段距离。为了能快速获得感知算法的验证能力,本人准备用接近半年的时间来进行无人机/无人车仿真软件的研究。研究的对象为AirSim、CarLa和CoppeliaSim这三个主流仿真器。研究的目标则是借助仿真器实现如下的功能:实现输入控制信息,无人

2022-03-23 20:08:59 743

原创 Python多进程编程

多进程简单实现Python中的多线程实现是在一个物理CPU线程内部进行切片实现的,因此并没有实现真正意义上的多线程(通过在Python多线程中写死循环然后查看CPU的占用情况就能明确该论述)。那是不是Python语言就直接无法利用多个CPU核心线程呢?并不是,Python通过multiprocessing多进程模块实现了该功能。代码实现也很简单,如下所示:import multiprocessingdef worker(interval): print(interval)if __n

2022-03-23 11:31:11 973

原创 OpenGL工程实现实用教程3---freeglut库中文文字渲染

使用freeglut渲染英文字体有个非常简单的办法,那就是直接调用glutBitmapCharacter函数进行渲染。代码如下://要显示的字符char str[20] = "Hello world!!!";int n = strlen(str);//设置要在屏幕上显示字符的起始位置glRasterPos2i(0, 0);//逐个显示字符串中的每个字符for (int i = 0; i < n; i++) glutBitmapCharacter(GLUT_BITMAP_TIMES_R

2022-03-15 20:34:52 724

原创 OpenGL工程实现实用教程2---freeglut库的输入响应

在PC上用户的输入操作一般分为键盘+鼠标两种,freeglut库已经帮我们封装好了这些操作的消息响应,只需要用户注册并编写响应逻辑即可。键盘响应键盘的消息注册函数为glutKeyboardFunc,消息响应回调函数可定义如下://第一个参数表示按下的按键的ASCII码。//其余两个参数提供了当键按下时当前的鼠标位置(相对于当前客户窗口的左上角)。void keyboardFunc(unsigned char key, int x, int y){ switch (key) { cas

2022-03-15 20:28:50 474

原创 ROS2系统学习2---Ubuntu20.04下ROS2的安装

添加软件源添加密钥sudo apt update && sudo apt install curl gnupg lsb-releasesudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg如果出现“curl: (7) Failed to connect to raw.githubuserc

2022-01-26 23:54:50 448

原创 OpenGL工程实现实用教程1---最简单的freeglut库环境配置

学习OpenGL最常见的教程是LearnOpenGL,该教程使用的OpenGL库是glfw,因此如果想要按照那个教程从头到尾学习一遍OpenGL,那么请不要犹豫关掉本教程然后点开LearnOpenGL的网站开始学习(本人的OpenGL入门就是这样学的)。本教程使用的是glut库的开源版本freeglut库,原因在于该库相比于glfw更加简单,它隐藏了很多OpenGL的设置,使得代码编写更加简洁(需要注意的是,代码编写的简洁对于想要用到OpenGL高级功能的老哥并不见得是一个好特性,对于想要深刻理解Open

2022-01-18 21:39:52 445

原创 ROS2系统学习1---为什么要用ROS2?

最近终于把毕业的事情搞得七七八八了,准备开启ROS2的新坑。ROS2已经推出有好几年了,遥记得18年底团队调研要将自动驾驶系统从Windows平台转到别的平台的时候,就有老师说要转这个。尽管当时就看出了这东西是个趋势,然而不经意间有同学说出“别人论文里面给的开源程序大多是ROS1的”这个鬼故事之后,ROS2被当场枪毙。时光飞逝,转眼间三年过去了,我也终于要脱离苦海。回头一看,ROS2的普及率还是那个死样子。现在在网上搜ROS的资料,绝大部分还是ROS1的。唯一一点小水花,恐怕是前段时间小米在发布会上搞出

2021-11-30 23:39:38 2022 1

原创 RGB色彩空间转CMYK色彩空间

在发表论文的时候,有些杂志要求提交图片的色彩空间为CMYK(更接近印刷效果),而我们正常在电脑中使用的图片色彩空间为RGB,因此需要进行转换。操作比较简单,如果有PS的话可以直接转换,在此不做赘述。如果不想用PS或者想做批量的色彩空间转换,可用ImageMagick来进行操作。首先下载ImageMagick:https://download.imagemagick.org/ImageMagick/download/。本人下的是"ImageMagick-7.1.0-portable-Q16-x64.zip

2021-11-24 22:34:07 916

原创 ROS学习番外篇12—Mac M1(Pro+Max)安装ROS1或ROS2须知

由于苹果换了芯片架构,因此裸机安装ROS2或者源码安装ROS1和ROS2变得非常困难。使用Parallels Desktop或者其他虚拟机(比如UTM)安装Ubuntu然后再在Ubuntu上安装ROS是目前最为靠谱的解决方案。然而,该方案有个问题,那就是安装完系统之后需要更新Mesa 3D graphics library,否则rviz的3D模块无法正常显示(这个问题网上很少有人说,说的人还把人带跑偏,本人因此搞了一个多星期,心力憔悴。。。最后去官方github上闲逛才发现真正的问题。。。)。下面直接上

2021-11-20 21:21:55 3352 2

原创 ROS学习番外篇11—Winows的WSL2(Linux子系统)下安装ROS并搭建开发环境

一般ROS的开发是在Ubuntu下面进行的,自从今年6月份微软为WSL装配上了gui神器之后,我们又多出了一种新的玩法。那就是在Windows下用WSL2来安装Ubuntu虚拟机来做ROS的开发。虽然可能有老哥要说,之前搞个虚拟机不也一样。事实的确如此,然而由于这个是微软自己家的,其和系统的粘合程度以及优化远飞第三方虚拟机可比,这个通过搜索wsl的ubuntu和真机ubuntu的各种测评文章就可得到答案。下面我们进入正题。WSLg的安装系统要求Win11或者Win10最新的版本安装WSL版本的显

2021-11-16 16:20:10 1255

原创 LaTeX编译速度优化

最近一直埋头毕业的事情,终于在昨天全部完成。躺了一天后打开了久违的CSDN,看到五个月前写的介绍FFmpeg编解码和图传方面的最后一篇文章,竟回想不起当时为何要做这件事情,顿感时光飞逝。为了避免在CSDN上的排名和粉丝也如时光一般远去,我将在近期把这段日子研究的东西(主要是论文写作相关的)逐步分享出来。这篇文章要分享的是LaTeX的编译速度优化方案。相信会搜索到这篇博客的同学肯定明白为什么要用LaTeX而非Word来写毕业论文,因此不在这里赘述。尽管LaTeX的的确确比Word不知高到哪里去,然而有

2021-10-30 22:10:23 2808 5

原创 使用ffmpeg+rtsp-simple-server实现RTSP的TCP推流

现在很多摄像头都带RTSP的码流推送功能以供用户拉取,该功能是通过在摄像头内部架设RTSP的服务器,并且将码流推送到该服务器实现的。用户通过url地址拉流,实际上就是去RTSP服务器要码流数据。在流媒体软件开发中,有时候我们需要不断断开和重连接码流以测试软件表现。如果使用实际的摄像头来操作则意味着很多时候要不断开关网络服务,实在不方便。因此,在本机搭建一个RTSP服务器并将本地视频推流到该服务器中以供流媒体软件拉取是个不错的主意。在之前"Windows环境vlc的配置与简单rtsp推流demo"这篇文章

2021-05-07 15:20:55 4297 1

原创 ROS系统学习16---OpenCV进阶---利用dnn模块加载YoloV4模型进行对象检查

年前需要在ROS上使用YoloV4对道路上的障碍物进行检测,记得早期使用YoloV3的时候是用的Yolo开发团队提供的darknet版本,因此就自然而然的去下其提供的Ros节点包然后开搞。结果由于当时操作了一波,使用的是Manjaro系统,ROS是自己编译的(OpenCV版本是4.5),结果花了一个晚上改了无数错误之后依然编译不过。最后一查才发现darknet架构在OpenCV3.4.0后(OpenCV在该版本后把c接口直接用c++实现了,可能最新的noetic二进制安装文件依然用的是OpenCV3.2就

2021-04-20 23:44:38 463 3

原创 ROS学习番外篇10—Deepin下OpenCV+CUDA的编译,以及在ROS中的使用(同样适用Ubuntu)

OpenCV的DNN模块现在已经非常强大,可以跑很多深度学习模型。原生的ROS虽然也自带OpenCV,但其版本太老吃不到这波红利。为此,最好的办法是自己编译最新版本带CUDA的OpenCV,下面我们将介绍这波操作。PS:在操作前需要将cuda和cudnn装上,安装的方法可以参考这篇文章:https://blog.csdn.net/weixinhum/article/details/115920332?spm=1001.2014.3001.5501OpenCV+CUDA的编译下载opencv + ope

2021-04-20 22:34:52 286 1

原创 Deepin20.2下CUDA11和cudnn的安装

之前在安装系统的时候选择了闭源驱动,以为那样操作之后就万事大吉了,后面如果要安装cuda啥的直接装就行。然而万万没想到还是想简单了,官方提供的闭源驱动版本不完整,这直接导致哪怕装上了cuda,也无法正常运行程序(不要问我为什么知道的,我那可怜的两天时间一去不复返。不过看到有人说用conda是可以的,这样深度学习炼丹师可能还能试试)。。。。什么破玩意!!!哎,往事不堪回首,虽然差点就装回了ubuntu,但坚强的我经历一番折腾还是把环境弄好了。下面介绍下Deepin v20系统CUDA11和cudnn磨人的

2021-04-20 22:10:00 972 3

原创 ROS学习番外篇9—在Deepin上安装Ros

上篇番外"ROS学习番外篇8—在Manjaro上安装和使用Ros"中,我们介绍了怎么用Manjaro来安装和使用Ros。尽管历经千辛万苦解决了很多bug,然而还是存在ROS中无法使用PCL的问题。好巧不巧最近在复现的文章中要用到PCL,于是只能再次走上了选择新操作系统的要命征程。经历一番折腾,本人选择了Deepin V20这个系统。说实话一开始想到用国产的系统心里还是很虚的,然而真正去体验了之后发现这东西真香!在Manjaro上要折腾半天的很多wine程序的安装这个系统直接一键解决。而Ros的安装则和Ub

2021-04-20 17:34:21 413

原创 C++使用sqlite3数据库

下载SQLite官网地址:https://www.sqlite.org/download.html生成sqlite3.lib将第二个文件,也就是sqlite-dll-win64-3350400文件解压到出来,得到sqlite3.dllsqlite3.def在之前已经安装好的Microsoft Visual Studio 2019安装目录下找到link.exe链接执行文件及相应的动态库。本人目录(因为版本不同和安装路径不同,每人基本都不一样,最好自己点一点)是:C:\Program

2021-04-15 23:15:55 1815

原创 ROS学习番外篇7—将SemanticKITTI数据集的点云投影到图像平面

做自动驾驶的老哥相信或多或少会知道SemanticKITTI这个点级精细标注的数据集。该数据集基于kitti的odometry数据集进行标注。因此非但有精细的语言分割信息,而且还能结合kitti数据集本身就提供的四个摄像头信息来做更多的事情。比如将点云投影到图像上,然后做融合算法。在这篇文章中我们将介绍将点云投影到图像平面的操作。数据下载首先,我们需要先下载图像数据,也就是到kitti的官网下载相应的数据:如果先前已经下了SemanticKITTI数据集,那么就只需要下图像的数据就行。坐标投影

2021-04-13 15:46:39 1339

原创 ROS学习番外篇8—在Manjaro上安装和使用Ros

用ROS已经快三年了,由于ROS的开发团队一直在Ubuntu上进行维护,装起来最方便,因此本人也使用了Ubuntu三年多了。一开始本人就不太喜欢这个操作系统,但当时觉得自己菜估计用久了就好了,因此就没多做挣扎。然而到了现在,本人还是不喜欢它,主要有下面这些不爽的点:时不时崩溃弹窗,虽然关掉之后好像也能照常运行,但感觉就是很不好,无论16.04、18.04还是20.04都这个样子不管怎么搞都比较慢的软件安装速度(主要是网络慢,但换源、翻墙啥的都搞了也不快)动不动就有一堆软件包要更新,而一更新就碰到问

2021-02-08 22:58:41 1103

原创 VSCode+TinyTeX搭建LaTeX写作环境

texlive安装可通过官网、华为云或者阿里云下载安装包,下载之后直接安装即可,当然也可以按照文末给的方法把不必要的语言包勾掉以节省大概1G的空间,本人嫌麻烦就没搞哈哈哈。VSCode上安装LaTeX插件在插件商店中搜索"LaTeX Workshop"插件并安装。配置VSCode的LaTeX插件编译生成pdf文件在VSCode界面中按F1键入"Open Settings(JSON)“之后打开"Preferences: Open Settings(JSON)”{ "latex-works

2021-01-07 23:03:44 550

原创 QT框架下的OpenGL使用---实战篇---鼠标选取点对象

本篇文章是点云显示和交互以及摄像机这两篇文章的后续,如有疑惑可查看这两篇文章。在OpenGL的使用中,用其显示3D点云是非常常见的操作,而进一步让用户可以选择点云以查看其信息可以使得开发变得更加简单,本篇文章我们将讨论怎么实现这一功能。要用鼠标圈选点云,要解决的问题就是得到鼠标圈选的范围内有哪些点,也就是要知道OpenGL的顶点到屏幕坐标之间的映射关系。这一映射关系我们在摄像机这篇文章已经得到了,它就是:QMatrix4x4 mvp;这个对象,我们在顶点着色器中用它和顶点坐标相乘直接得到了顶点.

2020-10-08 18:09:44 2276 2

原创 EM算法在高斯混合模型学习中的应用

本篇文章是之前期望极大算法(EM算法)文章的后续,有需要可以先看看那篇文章关于EM算法的推导。高斯混合模型高斯混合模型是研究算法的人避不开的一个东西,其在非深度学习的远古时代经常被用到,比如图像处理任务的前背景提取,点云处理任务的点云聚类等等等等。具体的,高斯混合模型是指具有如下形式的概率分布模型:P(y∣θ)=∑k=1Kαkϕ(y∣θk)P(y \mid \theta)=\sum_{k=1}^{K} \alpha_{k} \phi\left(y \mid \theta_{k}\right).

2020-09-24 16:16:37 421

原创 期望极大算法(EM算法)

看本篇之前如果不了解似然函数和极大似然估计的话可能有点要命,请先弄清楚相应的知识。另外,如果有符号/名词的含义不太明白,可拉到文章的最下方看看相应的说明。在极大似然估计的博客中,我们在公式层面上讨论了怎么进行概率模型参数的极大似然估计。在文章中举的掷色子的例子中(不含有隐变量),我们也了解到可以通过求解函数的导数求得极值来得到这个极大似然估计。在本篇文章中,我们将探讨含有隐变量的概率模型参数的极大似然估计算法—EM算法。隐变量首先要明白啥是隐变量,看到李航老师《统计学习方法》中举的例子:还是.

2020-09-03 23:36:07 602 2

原创 QT框架下的OpenGL使用---实战篇---图像的显示

阅读本篇文章需要提前掌握OpenGL纹理的相关知识。做计算机视觉或者播放器等项目,通常需要将图像处理的结果显示给用户看,在Qt上可以用label控件来完成,但其效率相对较低。这里我们介绍一种用Qt自带的OpenGL来做这件事情的方法。图像的显示在前面OpenGL纹理的文章中我们介绍了怎么在Qt自带的OpenGL上贴纹理,这在3D制作上是非常重要的(后面光追一普及操作复杂度可能要远比现在低)。对于只想要显示2D图像的老哥而言,同样可以用纹理贴图来实现。原理非常简单:用两个三角形直接填充满整个视图,.

2020-08-17 23:12:18 3491

原创 QT框架下的OpenGL使用---复现篇---纹理

本篇文章的复现对应于LearnOpenGL教程的入门纹理教程。使用OpenGL时经常需要在画面中显示2D的图像或是给3D的图形表面贴一张2D的图像,这个时候就会用到纹理贴图。具体的细节LearnOpenGL教程已经讲得很清楚了,这里就不再赘述。不过,有一点比较神奇也可以说是反直觉的地方需要注意一下。在以前的认知中,图像一般要放在一个矩形框中进行显示,很多时候我们用QT或者MFC等界面库的时候也的确就是这么操作的。然而在OpenGL或者Direct这种渲染程序中不是这样的,它们的图元中并不存在矩形(从.

2020-08-17 10:07:17 1204

原创 QT框架下的OpenGL使用---实战篇---点云显示和交互

阅读本篇文章需要提前掌握OpenGL顶点和着色器及摄像机的相关知识。前面复现篇的两篇文章中介绍了Qt+OpenGL框架下顶点和着色器及摄像机的知识,接下来我们用这两个知识来实现3D领域非常常见的任务—点云显示和交互。点云的显示3D领域常见的一个需求是将点云显示出来给用户,这个功能乍一看好像还比较复杂,实则不然,只要我们学会OpenGL的顶点和着色器的知识就能轻松搞定。原理很简单,只要直接将点云当成是OpenGL的"点"图元进行处理就可以了。在顶点和着色器的复现文章中,我们绘制的图元是三角形,代码.

2020-08-14 15:56:31 6108 23

原创 QT框架下的OpenGL使用---复现篇---顶点和着色器

本篇文章的复现对应于LearnOpenGL教程的入门你好,窗口,你好,三角形,着色器三篇教程。在QT框架中使用OpenGL首先新建一个Qt Widgets Application工程,注意把创建界面点掉,以便我们用代码来创建界面。接着添加一个继承QOpenGLWidget的类来使用OpenGL,这里命名为MyOpenGLWidget,类的具体声明和定义如下:MyOpenGLWidget.h#ifndef MYOPENGLWIDGET_H#define MYOPENGLWIDGET_H#i.

2020-08-13 15:56:55 1836

聚类算法测试数据集.zip

本人整理的csv格式的点云数据,可以用来测试和验证k-means、dbscan或者是自己开发的聚类算法。

2020-08-18

PNG-ICO 图标格式互转工具

PNG-ICO图标格式互转工具,操作见readme

2015-06-08

利用FFmpeg将Jpeg图片转为任意视频容器格式

相应博客地址:http://blog.csdn.net/weixinhum/article/details/45872093 如有疑问请到博客留言,此外如有错误会在博客中更新

2015-05-20

C++播放音频实例

C++播放音频实例,实用VS2013编写的

2015-05-14

SSD硬盘速度检测软件

SSD硬盘速度检测软件,绿色软件,解压双击即可

2015-04-26

C++ 双缓存机制播放音频流(PCM裸流)

这份代码实现打开PCM裸流文件并用双缓存机制进行播放的,可在VS2013下直接编译运行,其中包含一个PCM裸流文件。

2015-03-22

利用libjpeg库解码内存中的jpeg数据范例

利用libjpeg库解码内存中的jpeg数据范例,详情请参考http://blog.csdn.net/weixinhum/article/details/43089047

2015-01-24

libjpeg库的示例工程,实现Jpeg转Bmp

libjpeg库的示例工程,实现Jpeg转Bmp,详情见:http://blog.csdn.net/weixinhum/article/details/42718959

2015-01-19

对焦算法测试组图

对焦算法测试组图,可用以自动对焦算法的测试

2014-08-22

MFC全屏显示demo

MFC全屏显示demo,具体内容可参加博客:http://blog.csdn.net/weixinhum/article/details/38282241

2014-08-13

软件打包部署神器InnoSetup

软件打包部署神器InnoSetup,亲测可用!

2014-07-28

Windows下利用live555实现H264实时流RTSP发送

Windows下利用live555实现H264实时流RTSP发送,利用本地文件读入模拟,环境为VS2013。

2014-07-23

VLC播放器2.0.7(绿色版)

VLC播放器2.0.7(绿色版),懂的的人都懂的,视频开发必备的。本人测试过直接解压就可以使用了,至于资源分10分就只能说哈哈了。

2014-07-18

FFmpge视频解码(从H264视频流到图像)

这个是用FFmpeg所做的视频解码工程,经过了本人封装,FFmpeg也已经配置在工程里面。不过由于本人使用了OpenCV进行了图片数据的读取显示,还需要配置OpenCV才能使用。关于本工程对应的博客说明地址如下http://blog.csdn.net/weixinhum/article/details/37731011

2014-07-13

FFmpge视频压缩(从图像到H264视频流)

这个是用FFmpeg所做的视频压缩工程,经过了本人封装,FFmpeg也已经配置在工程里面。不过由于本人使用了OpenCV进行了图片的读取和数据区的获得,还需要配置图片数据区才能使用。关于本工程对应的博客说明地址如下http://blog.csdn.net/weixinhum/article/details/37705253

2014-07-12

FFmpeg开发包,适用VS各版本

FFmpeg开发包,适用VS各版本,配置环境介绍博客地址如下:http://blog.csdn.net/weixinhum/article/details/37699025

2014-07-11

C++PCM音频格式录音

用C++实现的音频录制工程,有需要的可以下载,本人做的编写和测试,有问题可以留言

2014-06-16

PCM压缩与解码

PCM->ADPCM的压缩和ADPCM->PCM的解码工程

2014-06-16

C++ 播放音频流(PCM裸流)

这份代码是打开PCM裸流文件并截取一段数据然后播放的,可以轻松的经过加一条线程的方式改成网络传输的形式。

2014-06-11

MFC自绘滑块类

MFC自带滑块控件在点击的时候不能准确的移动到点击位置而是一直在点击位置的附近跳动,非常影响用户体验。该自绘滑块类解决了这个问题。使用方法在资源内。

2014-05-27

RGB色彩空间转CMYK色彩空间工具.zip

在发表论文的时候,有些杂志要求提交图片的色彩空间为CMYK(更接近印刷效果),而我们正常在电脑中使用的图片色彩空间为RGB,因此需要进行转换。 本工具可以帮助用户将RGB色彩空间的TIF图片转换为CMYK色彩空间的TIF图片。 具体的操作可见程序说明。

2021-11-24

配置好QT5和librviz的ROS包

配置好QT5和librviz的ROS包,在melodlc上正确编译运行,具体细节见博客---ROS系统学习11---界面开发1

2020-05-14

PCLViewer最小使用包

PCLViewer,可以用来查看PCD文件,不需要安装PCL,如果还是运行不了请自行安装VS2017运行库。

2018-12-16

ffmpeg4+OpenCV3+VS2017 H264编解码示例

ffmpeg4.0+OpenCV+VS2017 H264编解码示例。已经配置好环境,不需要再进行配置

2018-08-18

GeoGebra开源数学绘图工具

GeoGebra开源数学绘图工具,数学或者相关需要绘制图像的老师必备工具

2017-11-20

C++PCM音频格式录音(双缓存MFC版本)

C++PCM音频格式录音(双缓存MFC版本),详情见博客,有问题到博客留言,这边不会推送,很少会看到 http://blog.csdn.net/weixinhum/article/details/76158998

2017-07-26

填完坑,配置好并写完bat的caffe深度学习

填完坑,配置好并写完bat的caffe深度学习 详情见博客 http://blog.csdn.net/weixinhum/article/details/71304852

2017-05-07

opencv dnn模块的demo

opencv dnn模块的demo,详情可见下面文章 http://blog.csdn.net/weixinhum/article/details/70982048

2017-04-29

VS2015 X64+OpenCV3.2.0+opencv_contirb

VS2015 X64+OpenCV3.2.0+opencv_contirb 详情请参考这篇文章 http://blog.csdn.net/weixinhum/article/details/70947448

2017-04-29

利用FFmpge进行视频压缩(从图像到H264视频流)新版

利用FFmpge进行视频压缩(从图像到H264视频流) 博客地址如下: http://blog.csdn.net/weixinhum/article/details/37705253

2016-09-11

MFC 多语言环境的实现

MFC 多语言环境的实现,VS2015的工程,如果有疑问可见博客文章 http://blog.csdn.net/weixinhum/article/details/51202263

2016-04-20

几何绘图工具GeoGebra

这个是几何绘图工具,因为国内的几何画板现在都是要收费的,实在爱不起。其他相似的软件又搞得让人有点无语,所以去GeoGebra的官网下了最新版本的软件,由于下载过程比较麻烦,所以在这里分享出来。 该软件相对比较难上手一点,但上手之后异常犀利。加上又是开源免费的,所以能算得上现在最好的几何绘图软件了

2016-01-31

最新版本FFmpeg库x64平台解码h264视频demo

http://blog.csdn.net/weixinhum/article/details/37731011 详情可见博客,下载后需要自行配置opencv库放可运行,当然可以自行去掉该库

2016-01-23

图像的球面投影工程和可执行程序

图像的球面投影工程和可执行程序,详情可见博客文章http://blog.csdn.net/weixinhum/article/details/50477399,有什么建议也请到博客下面留言,谢谢 工程环境为VS2015+OpenCV2.4.9 x64编译器

2016-01-10

C# WPF DataGrid控件实现三级联动

C# WPF DataGrid控件实现三级联动 博客原文:http://blog.csdn.net/weixinhum/article/details/49449973

2015-10-27

C# WPF 模拟键盘输入与UI控件进行交互

C# WPF 模拟键盘输入与UI控件进行交互 相关博客地址:http://blog.csdn.net/weixinhum/article/details/49422335

2015-10-26

SQLite数据库查看工具(SQLiteBrowser)

SQLite数据库查看工具(SQLiteBrowser),亲测可用,现在正在用。

2015-10-06

MFC实现RS232串口通信程序和辅助程序

MFC实现RS232串口通信程序和辅助程序,具体的可见相关博客:http://blog.csdn.net/weixinhum/article/details/48213883

2015-09-04

PDFDemo和资料

这是一个用C++实现生成PDF文档的例子,用到了PDFlib库,工程环境是VS2015,相关的博客地址为:http://blog.csdn.net/weixinhum/article/details/47418975

2015-08-26

MFC 与Excel文件的交互操作

MFC 与Excel文件的交互操作

2015-06-22

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

TA关注的人

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