6 _寒潭雁影

尚未进行身份认证

中科大IT向博士,熟悉MFC,C++,C等语言,参与过ffmpeg、机器视觉、并行计算、数据库等相关项目的研发和代码的编写http://blog.csdn.net/weixinhum为本人博客,上面记录了本人的一些技术总结

等级
TA的排名 2k+

PCL键盘按键响应

在使用PCL进行点云操作时,会遇到需要改变程序参数的情况,这个时候可以利用键盘进行操作,编程十分简单:先进行函数注册:viewer->registerKeyboardCallback(&keyboardEventOccurred,(void*)NULL);//其中viewer为boost::shared_ptr<pcl::visualization::PCLVisuali...

2019-08-12 16:32:14

OpenGL文字写入

OpenGL本身没有提供文字写入的接口,需要自行实现。实现起来比想象中简单,大致的过程就是找操作系统要指定字体指定大小和颜色的文字图片,然后拷贝绘制出来即可。代码如下:#include<windows.h>#include<GL/gl.h>#include<GL/glu.h>#include<GL/freeglut.h>void...

2019-08-05 17:02:54

PCL绘图

绘制直线//参数:点1,点2,R,G,B,名称viewer->addLine<pcl::PointXYZ>(endpt1,endpt2,255,0,0,"drawline1");绘制长方体//绕z轴旋转的角度调整Eigen::AngleAxisfrotation_vector(boxitor->heading,Eigen::Vector3f(0,...

2019-07-31 15:21:42

KITTI数据集点云无序转有序

KITTI数据集给出的点云是无序的,对于以外多数算法而言影响不是很大,然而对于近期兴起的基于2.5D点云图进行处理的算法却很要命,因为丢失了点所在雷达线的信息,无序点云几乎无法用来进行该类算法的验证。好在KITTI的bin文件本身是按照线的顺序进行存储的,因此只需要做一点处理,就能恢复出线信息(这里不得不鄙视下百度的APOLLOSCAPE数据集,直接就把线信息丢失了,也没给出解决方案!坑爹啊!!...

2019-07-31 14:24:08

ROS系统学习10---利用OpenMP库进行CPU的多线程加速

在ROS系统的构建中,很多问题是串行的,只能用一个节点进行串行计算。这样导致的问题是CPU资源并没有完全用到,往往是程序延时很严重,然而CPU却只用了一个线程。为了解决这个问题,可以用OpenMP库来进行并行处理。示例代码如下:#include<ros/ros.h>#include<omp.h>//openMP库intmain(intargc,char...

2019-07-30 18:45:35

OpenGL与CUDA的显存数据共享

所需头文件#include<gl/glut.h>#include"cuda_gl_interop.h"涉及变量cudaGraphicsResource_tcudaResource[1];//CUDA图像资源对象,用以联系OpenGL与CUDAGLuinttextureID[1];//OpenGL纹理上下文cudaArray*devArray;//cuda共享数据区...

2019-07-16 21:54:15

OpenGL在MFC的Picture Control中显示

OpenGL在MFC中的配置与前面文章所述基本一样,不再赘述。本篇主要记录如何用OpenGL在MFC的PictureControl控件中绘图。假定已经配置好了环境,而且已经在MFC中创建了ID为“IDC_STATIC_SHOW”的PictureControl控件。需要做的不是很多,就下面几步:设定像素格式,为OpenGL与HDC连接做准备创建OpenGL渲染上下文,使得OpenGL可在...

2019-07-16 16:37:34

OpenGL绘图基础

利用OpenGL绘制OpenCV图像方法一:#include<gl/glut.h>#include<opencv2/opencv.hpp>usingnamespacecv;Matimgbgr;Matimgbgra;voiddisplay(void){ //绘图,GL_BGRA_EXT表示输入图像格式为BGRA,也可是GL_BGR_EXT,则...

2019-07-16 15:38:51

VS2017+OpenGL的配置

最近一直在研究的硬件解码终于告一段落,然而研究期间发现仅仅硬解码是不够的,最好是能操作内存中的图像并最终渲染到屏幕中呈现给用户,于是又开始了CUDA显存获得图像到图形库渲染这一步的研究。可供选择的图像库有Direct2D,Directx9,Directx11,Directx12和OpenGL,因为本人对Directx这套东西相当陌生,且后面可能会往Linux上转,因此经过几天的研究和纠结...

2019-07-15 00:03:40

Video_Codec_SDK硬件视频解码代码分析和MFC移植

上一篇文章主要介绍了如何配置环境,将Video_Codec_SDK运行起来,并跑了一个硬件视频解码的示例程序看了看效果,而具体这套操作比其操作好在哪并没有具体提及。本篇文章我们将进一步分析下这套代码,并指出几个可能应用方向的修改方法。首先看下整体代码,本人做了一点点修改和一些注释,基本上有FFMPEG解码经验的人应该能秒懂:#include<cuda.h>#include&...

2019-07-11 15:01:56

Windows下Video_Codec_SDK的环境配置和简单的硬解码Demo

最近因为需求以及一直以来觉得CPU解码太傻X,研究了一波硬解码。通过连续三四天不间断的挖坑填坑,大抵总结了网上资料给出的三种操作:1.用FFMPEG硬解码完从显存拷回内存,然后就没有然后了,存起来了事。优点:十分简单,FFMPEG本身就给出了例子,跑就行了。缺点:从显存拷贝回内存,大多数情况下不如直接用CPU解码,饶了一大圈费力不讨好。改进方向:研究下显存的处理操作,将显存的数据在显存中...

2019-07-09 16:40:08

Windows环境vlc的配置与简单rtsp推流demo

下载开发包:http://download.videolan.org/pub/videolan/vlc/本人下的是最新版本的3.0.7.1如下:解压后定位到文件夹的“sdk”目录下,可以看到“include”和“lib”两个文件夹,这正是我们想要的东西。用VS新建C++工程后把这两个文件夹扔进去,然后配置环境:1.项目->属性->C/C+±>常规->附加包含目录-&...

2019-07-03 17:35:01

用Python写一个最简单的计时秒表

在Windows上是自带计时秒表的,这玩意一般用不上。但对于做视频相关操作的工程师有一个巨大的作用,就是用摄像头拍屏幕上的秒表然后把摄像头得到的图像经过压缩->传输->解析->重新显示到屏幕,这样通过比较屏幕上两个时间的差异就能算出摄像头的延时。在Ubuntu上却只有少数几个相近的软件,因为精度不高、太丑、字体太小而全军覆没。为此,直接写一个精确到1ms的秒表如下:impo...

2019-07-01 21:44:14

Python GUI编程------Tkinter

PythonGUI库有多个,功能最全面的应该是PyQt5,而如果希望最快实现一个界面,则Tkinter肯定是首选,因为它最简单。本篇记录部分Tkinter界面库的实现,但需要特别注意的是,如果要实现复杂或者漂亮的界面,作者还是推荐使用PyQt5。安装sudoapt-getinstallpython3-tk简单使用#encoding=utf-8importtkinter...

2019-05-17 14:30:51

Python多线程相关编程

最简单版本:importthreadingdeffun1():whileTrue:print("1")deffun2():whileTrue:print("2")threading.Thread(target=fun1,args=()).start()threading.Thread(target=fun2,ar...

2019-05-13 11:24:25

Qt在Ubuntu下的安装

下载程序http://download.qt.io/official_releases/qt/修改修改程序运行权限sudochmod-R777qt-opensource-linux-x64-5.12.3.run安装./qt-opensource-linux-x64-5.12.3.run安装必要的依赖关系sudoapt-getinstallgccg++sudo...

2019-05-09 14:47:08

ROS系统学习番外篇2---ROS节点权限问题

在Linux上有时用到一些操作需要有管理员权限,比如内存共享和网络抓包等。ROS因为是构建在操作系统上面的,因此做上面提到的这些操作也需要管理员权限。最简单的实现方式就是sudosu然后把ROS的工作空间导进去echo'source~/HelloRos/devel/setup.bash'>>~/.bashrc就OK了。...

2019-04-24 16:51:40

Ubuntu libpcap的安装和测试

1.官网下载安装包:http://www.tcpdump.org/#latest-release2.解压3.终端进入文件夹cdlibpcap-1.9.0/4.安装依赖关系sudoapt-getinstallflexsudoapt-getinstall-ybyacc5.配置,编译,安装./configuremakesudomakeinstall到此安装...

2019-04-24 16:48:00

PCL1.9+VS2017+Win10安装须知及MFC适配

在写这篇博客的时候,PCL的最新版本是1.9.1,地址在这。不过从github的种种迹象上看,应该1.10马上就要出来了。关于PCL的安装,这篇文章已经说完了,说的非常详细,因此不需要再赘述一遍。之所以在用了一段时间之后还开一篇文章讲安装注意事项,是为了说明,如果以“AllInOne”这种方式安装,请不要选1.9.1版本!!!否则在编译releasex64的时候会报错(x86没试过,...

2019-04-19 22:33:39

ROS系统学习9---节点间的内存共享(中级篇)---图像收发

前篇文章介绍了如何实现最简单的节点间内存共享。但因为篇幅所限,并没有深入介绍怎么将其实用化。本篇我们将用之前专门介绍的循环队列内存共享技术,将一个节点的图像数据直接共享给另外的节点。为了比较内存共享机制和ROS自带的话题传输机制,本文用:ROS系统学习5---OpenCV的使用这篇文章提供的图像发送和接收节点做对比。结果发现用自带的话题传输机制传一张1080p的图像延时大概在600ms,而用内...

2019-04-18 22:14:02

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。