- 博客(44)
- 资源 (7)
- 收藏
- 关注

原创 树莓派驱动6轴传感器MPU6500与SPI初体验(一)
手里有一块老版本的树莓派B+,除了点亮个led灯,每怎么玩过,最近看了个视频,8轴载人飞行器,感觉太爽了。视频看出是极客通过无人机DIY出来的,现在城市交通这么拥堵,要是能DIY一个飞行器来做交通工具是不是很拉风(当然前提不考虑空管问题)。不过估算了下,光电机,电调单轴的费用就要10K左右,8轴下来。。。这钱可以买辆汽车了。 1.6轴传感器 某宝10多块钱买了一个
2016-08-27 16:22:19
13606
8
原创 linux下C++程序实现自重启
程序自重启有很多应用的场景,比如程序升级,通过网络下载好升级包后,自行重启,又比如程序容错,意外或无法解决的问题导致程序内某个业务卡死等。程序的重启很多时候通过守护进程的方式来实现,这里介绍一种直接通过系统内核命令把自己重启的实现。while(1){ //遍历应用打开的系统文件句柄 for(int i=0;i<sysconf(_SC_OPEN_MAX);i++){...
2020-04-20 15:56:30
4378
原创 浏览器无插件播放网络视频流RTSP/H264/WEB CAM
问题 变通的方案 使用Canvas间接播放视频流 实时视频流转码 boost1.69编译 Pthread编译 业务流程 代码摘要 视频流转RGBA H5图像绘制问题应用系统中设计到网络视频流相关的功能时,经常会有在浏览器端WEB界面实现视频实时预览的需求。在以前通常有会考虑有四种方案实现:使用开源播放器插件,开发浏览器控件,使用Flash插件配合...
2020-04-04 18:32:05
2075
1
原创 微软语音朗读引擎MSSPEECH打造自己的TTS应用
不废话,直接上代码,例子是读取日语文本进行朗读。LANGUAGE ID可以改成其他语言的。#include "pch.h"#include <Windows.h>#include <string>#include <stdio.h>#include <iostream>#include <fstream>#include...
2020-03-12 11:44:34
2957
原创 murmurhash用于hbase数据均衡分配,真正的避免热点读写.
系统中使用hbase作为存储,由于hbase的特性,数据存储在多个分区region上。为了避免分区region的热点读写,需要将数据可以平均分配到每个region上。算法就是通过murmurhash,根据时间的推移、分区region个数进行计算。#define TIME_PAST(X,B) \({ \int year, month, day, hour, minute, s...
2019-08-02 10:45:01
448
原创 C++通过thrfit2高效读写HBase
hbase没有提供直接供c++的访问方法,而是通过thrift2服务提供。如需要通过c++访问hbase就需要hbase开启thrift server。开启方法:$HBASE_HOME/bin/hbase-daemon.sh start thrift2 -t 60000thrift server默认开启9090端口。hbase对客户端读取有超时策略,默认1分钟,启动时可通过-t参数...
2019-08-02 10:38:13
820
原创 linux下c++通过JNI调用JAVA的jar实现跨语言集成
做系统集成,有时可能会遇到各种需求和问题。跨语言之间如何通信集成更是平常的工作。最近遇到的问题就时,有一个系统服务是c++编写的,其中需要接收外部的消息然后存储到hbase集群中。 服务基本完成后,测试写入速度性能,居然每秒最多才500条,每掉数据也不是很大8k左右。因为hbase对java意外的支持是通过thrift2中间件实现的,与java的API机制不同,看了...
2019-07-18 10:05:08
635
原创 使用OpenCV操作CUDA送检图像到TensorRT(SSD模型)
本地环境:Core i7 7700HQ, GTX 1060 6G.开发环境(安装顺序): 1) Nvidia Driver 384; 2) Cuda 9; 3) Cudnn7 for cuda 9; 4) OpenCV 3.4.1; 5) TensorRT 3...
2018-04-02 00:06:10
5657
7
原创 Nvidia Jetson Tx2 使用 VGG_VOC0712_SSD_300x300 模型(四)
ReshapeLayer.h#ifndef __RESHAPE_LAYER_H__#define __RESHAPE_LAYER_H__#include <cassert>#include <iostream>#include <fstream>#include <cstring>#include <cuda_runtime.h&g...
2018-03-31 21:17:31
714
原创 Nvidia Jetson Tx2 使用 VGG_VOC0712_SSD_300x300 模型(三)
FlattenLay.h#ifndef __FLATTER_LAYER_H__#define __FLATTER_LAYER_H__#include <cassert>#include <iostream>#include <fstream>#include <cstring>#include <cuda_runtime.h>...
2018-03-31 21:13:47
761
原创 Nvidia Jetson Tx2 使用 VGG_VOC0712_SSD_300x300 模型(二)
直接上代码:PluginFactory.h#ifndef __PLUGIN_FACTORY_H__#define __PLUGIN_FACTORY_H__#include <algorithm>#include <cassert>#include <iostream>#include <cstring>#include <sys/...
2018-03-21 13:22:35
1238
原创 Nvidia Jetson Tx2 使用 VGG_VOC0712_SSD_300x300 模型(一)
Nvidia Jetson Tx2 性能是否逆天我并不清楚,但从产品意义上来讲,Tx2也就是个半成品: 1.二次开发接口不友好,本身还有很多Bug。比如自定义网络Layer时,不支持fp16,只能使用fp32。说是要再3.0.4版本才修复? 2.sample的代码真不敢恭维,完全没有条理,比较难读。 Tx2上TensorRT...
2018-03-16 17:58:49
1887
翻译 Raft分布式一致性协议
什么是分布式一致性让我们举个栗子。比方说我们有1个单节点的系统。这个栗子中,你可以设想我们的节点是一个只存有1个value的数据库服务器。同样我们有1个client可以向服务器发送value。可以看到,在一个节点中,value很容易与客户端达成一致(因为没有在其他可存value的节点,不存在一致性问题)。但当有多个节点时,我们怎么保持一致性呢?这就是分布式一致性问题。Raft是一个实现分布式一致性的
2017-06-16 23:12:26
492
原创 Golang实现文字转字符画
Golang实现文字转字符画简单说下原理:使用文字创建位图,然后根据位图计算每个像素点的灰度,根据灰度使用不同的字符将所有像素拼接即可. 1.相关使用的包 import ( "github.com/golang/freetype" "fmt" "image" "strconv" //"image/color" "image/
2017-05-03 13:29:35
5664
原创 Eclipse Neon 下go语言开发插件设置(自行编译插件部署,非update安装)
Eclipse Neon 下go语言开发插件设置(自行编译插件部署,非update安装)
2017-01-17 21:41:31
1361
原创 Golang 指针的坑
碰到一个问题,协议解码为实体后,想对原数据进行复用,结果原数据的值都改掉了,并不是接收到的值:func DecodeData(buffer []byte,datagram *entity.Datagram) error{ var temp []byte temp = buffer[0:] datagram.SetDatagram(temp) datagram.Repack
2017-01-12 01:52:58
3034
转载 树莓派禁止休眠设置
#文中设置均基于最新版的Raspbian系统2016-11版本 Raspbian在桌面环境下,隔一段时间,系统会进入休眠状态. 尝试了一些方法如直接用xset关闭dpms,是不能成功的。 Raspbian使用了轻量桌面显示管理器即lightdm,通过该管理器可对xserver桌面会话交互\显示等进行设置. 1.打开终端;
2016-12-18 20:47:54
12020
原创 树莓派驱动6轴传感器MPU6500与SPI初体验(三) -串口姿态显示
通过dmp获取到四元数后,对四元数进行归一化,串口发送到上位机进行姿态显示.
2016-12-10 20:21:31
3504
原创 C#绘制实时曲线
1.要做一个调试工具,采集传感器数据并显示。绘制曲线注意坐标反转,线条的张力即可。项目中的曲线是从右往左显示的,线条的坐标都放在list里了,效果如下图:2.上代码 public class DrawingCurve { private Graphics graphics; //Graphics 类提供将对象绘制到显示设备的方法
2015-11-15 14:04:37
15670
9
原创 Arm linux下lighttpd+PHP通过shell_exe,exec等调用系统指令
话说本此任务是在嵌入终端里跑web服务,容器自然选择了轻量级的lighttpd+php方案。本身WEB应用程序都可以调用系统的指令的,通过WEB可以很方便的管理终端,人机交互,当然大多情况下是为维护人员服务的。在ubuntu上的编译使用都很简单。但把交叉编译后的程序放到终端上后,用php测试exec等系统调用函数怎样也不成功,页面始终是500内部错误。除了系统调用函数鞥,其他一切正常。
2013-05-21 17:14:55
2384
原创 Flash+Asp.net(C#)保存图片到服务器
最近要把一个单机软件简单的绘图功能放到WEB上,考虑常识了诸多方案,如果是单纯的保存图片再简单不过了,但绘制的数据要记录,要与服务器交互,绘制逻辑比较复杂,用AJAX在交互及业务上会相当大的工作量;自定义控件在交互和效率上也没任何优势。无奈最终还是觉得FLASH要好的多。 Flash绘图比较简单,但本身不支持JPG等格式编码,需要FLEX的库,无奈不想搞的太复杂,只能用第三方封装的库' co
2013-05-21 17:12:16
2158
原创 php5.2.6移植到arm-linux摘要
php5.2.6移植到arm-linux摘要.因为有嵌入WEB服务的需求,再常识了N多的开源的嵌入服务后最终选择了lighttpd.Apache太大支了,而且在arm上对swf的支持不好.其他的都不怎么理想. lighttpd的移植过程就省略了。这里只摘要了PHP移植,采用fastcgi与lighttpd 协作. php版本:php5.2.6交叉编译设置参数:./c
2012-07-30 17:17:03
1616
原创 C# 佳能(Canon)相机EDSDK应用开发(二)--Live view与拍照
上一节看过了基本的应用开发流程,本节来看一下如何控制相机进行实时预览及拍照一、拍照 太EASY了,就这么一句: EDSDK.EdsSendCommand(camera, EDSDK.CameraCommand_TakePicture, 0); *注意:相机应确保在MF上。二、实时预览(Live view) 就是将evf(Electronic Viewfind
2012-06-10 11:50:19
11148
13
原创 C# 佳能(Canon)相机EDSDK应用开发(一)--基本
需求要做个小软件,软件可以控制多个相机进行实时预览拍照.其实大家都知道一般这种开发只要有厂商的SDK就OK了.但听别人说是要用C++...我一听就有点怵..后来一看官方的软件工具就是C#写的(窃笑) 大家英文好的话直接看文档了,这里只摘要些重要的部分.一、与相机工作流程 1.SDK初始化:EDSDK.EdsInitializeSDK(); 2
2012-06-10 11:48:51
13455
2
原创 在Eclipse下使用手机真机调试Android应用 (sony ericsson mt15i semc hsusb device 驱动)
本人用的是Sony Ericsson MT15i.1、下载USB驱动http://www.4shared.com/zip/OA-h08Ve/semc_hsusb_device.html注册即可下载.2、手机USB连接PC手机-》设置-》应用程序-》开发-》USB调试 确认打开。PC会自动检测设备,提示“semc hsusb device”需要安装时,定位到1中的解压缩后的目录下
2012-06-10 11:44:20
2538
原创 将linux下的TsTools开源代码用VC封装成了SDK
将linux下的TsTools开源代码用VC封装成了SDK. 不过自己本来是做WEB的,这个代码结构就太惨不忍睹了.
2012-06-09 23:30:14
2313
原创 FFMPEG解码H264拼帧简解
H264的I帧通常 0x00 0x00 0x00 0x01 0x67 开始,到下一个帧头开始之前是完整一帧.可放入FFMPEG的AVPacket中处理无论是文件流还是网络流,思路是将接收到的数据放入缓冲区,同时开启一个待拼帧的缓冲区1024*1024大小(我的是高清1920*1080,足够)一、寻I帧头//判断H264的I帧数据。返回I帧在本缓冲位置,或-1未找到int _find
2012-06-09 23:20:34
7978
3
转载 C# 检测网络异常断开(非正常通信中断)
网络异常断开原因主要有那些呢?归纳起来主要有以下两种: 1、客户端程序异常。 对于这种情况,我们很好处理,因为客户端程序异常退出会在服务端引发ConnectionReset的Socket异常(就是WinSock2中的10054异常)。只要在服务端处理这个异常就可以了。2、网络链路异常。 如:网络异常断开原因主要有那些呢?归纳起来主要有以下两种: 1、客户端程序异
2012-05-21 22:16:29
6918
原创 FFMPEG3.2SDK解码H264保存为YUV420文件
直接上代码. #pragma comment(lib, "avcodec.lib")#pragma comment(lib, "avformat.lib")#pragma comment(lib, "avutil.lib")#include #include #include #include #include #include #inclu
2012-05-20 12:44:42
1338
原创 JPG与MP3制作WMV视频-windows media encoder sdk解决方案
JPG与MP3制作WMV视频-windows media encoder sdk解决方案 微软的wmencoder sdk支持将图片\视频转换成标准的WMV文件.可以通过其提供的简单功能制作简单的视频.唯一遗憾的是SDK不提供转场效果,要做切换效果只能想别的办法了。该SDK支持VB,C++,C#的编码. 环境: windows media encoder sdk,可在微软网站下
2012-05-20 11:37:10
1171
原创 Ice客户端的同步及AMI异步模式-JAVA
废话不多说,最简单的源码比较一下是最快的方法.1、slice文件 Demo.ice#ifndef HELLO_ICE#define HELLO_ICEmodule Demo { interface Printer { ["ami"] string printString(string s); //["ami"] 头表示此方法是异步的,客户
2012-05-20 11:35:43
902
原创 devc++(devcpp) 玩转 gsoap
项目中,有个需求是终端调用webservice。我主要负责webservice这一块,如果要测试的话要跟写终端C程序的同事协调,这无疑很费时费力。那么能不能我自己写测试代码测呢? 终端是C通过gsoap生成客户端来调用webservice的。于是开始看gsoap,由于C知识贫乏,调试了好久终于有眉目了。因为机器上装了vs2008,又不大想装VC6,怕兼容性出问题。通过搜索找到一个交叉的编译环
2012-05-20 11:33:47
1912
原创 DirectShow网络源过滤器-Net Source Filter
DirectShow的学习是痛苦的过程,对于一个写C#,JAVA而从没接触过VC的人学习FILTER的编写那更是超级痛苦。项目中有网络实时监控的功能,软件UI是用C#实现的,回放是基于DIRECTSHOW做的,过滤器都是用的免费开源的。但网络监控难度就有点大了,H264格式传输,H264解码。。。传输好说,主要是解码显示,自己写解码显示几乎是不可能的任务。无奈,从头看VC,DIRECTSHOW
2012-05-20 11:30:46
1745
fDSST-快速判别尺寸空间跟踪算法
2018-01-29
Nvidia Jetson Tx2上编译的TensorFlow安装包(whl) 懂的下
2018-01-04
C#使用directshow(C#实现库)实现的MP3音频结合图片合成电子视频相册的应用
2017-11-15
树莓派下MPU6500 SPI总线DMP姿态融合全码
2016-11-22
TsTools SDK,对TS流进行处理,移植于LINUX,封装为API
2012-06-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人