C++
这个不开车的老司机
http://my.csdn.net/?ref=toolbar#
展开
-
wxWidgets 设置和查询注册表
wxwidgets 注册表相关原创 2023-02-28 16:33:42 · 423 阅读 · 0 评论 -
使用ceres solver 计算仿函数的雅克比
使用ceres solver的自动微分计算雅克比矩阵原创 2022-07-13 19:23:40 · 334 阅读 · 0 评论 -
usb hid 设备
win10 c++ usb hid原创 2022-02-21 15:03:13 · 292 阅读 · 0 评论 -
c++事件量封装,带等待超时功能
#pragma once#include <mutex>#include <condition_variable>#include <chrono>class CEvtVar { std::mutex m_mtex; bool m_flag; std::condition_variable m_condvar;public: CEvtVar(); ~CEvtVar(); int wait(int ms); ...原创 2022-01-25 16:39:40 · 596 阅读 · 0 评论 -
使用tinyxml2将gps经纬度转换为kml和gpx格式文件
一.gps数据存储在文本中,如下所示:每一行一个数据,数据使用逗号隔开,第一个为时间,第二个为经度,第三个维度,第四个为高度2.使用tinyxml2将文件转换为标准的gpx格式文件,转换之后的结果如下:代码如下:#include "../tinyxml2.h"#include <fstream>#include <string>;#include <vector>struct GPS_DATA { std::string.原创 2021-12-09 16:45:00 · 2139 阅读 · 0 评论 -
matlab 设计巴特沃茨滤波器,然后在c++中使用
一、用matlab设计巴特沃茨滤波器%1 低通fd = 10;%hz 截止频率fs = 167;%hz 采样频率wn = fd/(0.5*fs);%butter 第一个参数为阶数,下面使用的是一阶[a b]= butter(1,wn,'low')%2 高通fd = 10;%hz截止频率fs = 167;%hz采样频率wn = fd/(0.5*fs);[c d]= butter(1,wn,'high')%小测试t = 0:1/fs:1;x = cos(2*...原创 2021-07-23 10:32:39 · 636 阅读 · 0 评论 -
利用ceres solver对自定义函数 自动求导
#include <ceres/ceres.h>#include <ceres/jet.h>#include <Eigen/Eigen>struct costFunc { template <typename T> bool operator()(const T* const x, T* residuals) const { residuals[0] = T(3)* x[0]*x[0] + x[0]*T(5) ...原创 2021-05-10 11:12:33 · 785 阅读 · 0 评论 -
最短路径 floyd
//#include "sparselevmarq.h"#include <iostream>#include <cstdio>int main(int argc, char **argv){ if (1) { auto printA = [](int a[4][4]) { for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++...原创 2020-06-28 10:00:29 · 192 阅读 · 0 评论 -
光斑亚像素处理
#pragma once#include <Eigen/Eigen>typedef unsigned char uchar;#include <opencv2/opencv.hpp>class SubPixCenter{ int m_iN = -1; Eigen::VectorXf m_Vector_A; Eigen::MatrixXf m_matrix_B; bool InitData(cv::Mat& roi, const d...原创 2020-05-28 18:49:19 · 298 阅读 · 0 评论 -
opencv解码yolov2
#include <opencv2/opencv.hpp>#include <iostream>float anchor[] = { 0.469385, 0.710431,0.920628, 1.367715,1.274924, 1.906141,1.845246, 2.771376,2.994701, 4.442390 };int N_anchors =...原创 2020-04-20 14:28:37 · 318 阅读 · 0 评论 -
eskf imu arhs
clear;clc;%rng(100);addpath(genpath(pwd));load_param;global params;dt = params.dt;[imudata,visdata] = vio_data_gen();l_imu = length(imudata);eskf.q = [1;0;0;0];eskf.bg=[0;0;0];eskf.g=[0;0;9...原创 2020-01-08 19:29:03 · 395 阅读 · 0 评论 -
多线程 c++ 环形队列
#ifndef RING_BUFFER_H#define RING_BUFFER_H#include <mutex>template<typename T, int N>class RingBuf{public: RingBuf(); ~RingBuf(); bool get(T& a); bool put(T a...原创 2019-12-09 17:37:34 · 653 阅读 · 0 评论 -
计算点坐标
clear;clc;x1 = [100,0,0];x2 = [45, 75,0];x3 = [45,-75,0];x4 = [0,0,50];th = 5;data=[];Ns=1000;for i=1:Ns l23 = norm(x3-x2)+th*(2*rand-1); l12 = norm(x1-x2)+th*(2*rand-1); l13 = no...原创 2019-10-23 14:12:53 · 345 阅读 · 0 评论 -
g2o helper
#pragma once#include <g2o/core/sparse_optimizer.h>#include <g2o/types/slam3d/types_slam3d.h>#include <Eigen/eigen>#include "KeyFrame.h";#include "MapPoint.h"#include "Measureme...原创 2019-09-26 19:01:31 · 275 阅读 · 0 评论 -
循环缓冲区c++
template<typename T,int N>class RingBuf{public: RingBuf() : capSize(N){ first = last = 0; size = 0; } ~RingBuf() { } bool get(T& a) { if (is...原创 2019-08-30 13:45:51 · 347 阅读 · 0 评论 -
基于boost的最短路径和最小生成树
#pragma once#include <iostream>#include <utility>#include <vector>typedef struct { int v1,v2; int w;}EdgeEx;int shortest_path(const std::vector< EdgeEx>& ed...原创 2019-08-21 16:06:05 · 596 阅读 · 0 评论 -
打靶10次打中90环的可能性有多少种
/*此页的程序来自《程序员面试宝典(第三版)》*/#include using namespace std;const int N=10;int store[N]={0};int sum=0;void output(){for(int i=0;i{cout}cout++sum;}void cumput(int sc原创 2013-07-17 11:00:26 · 2381 阅读 · 0 评论 -
手势识别-----检测拳头
由于最近做一些手势识别方面的项目,所以在网上找了很多这方面的材料; 发现用adaboost+haar可以检测好几种手势;相对于用肤色来检测手,级联分类器的方法效果相当的好,而且检测速度也很快。 #include "opencv2\opencv.hpp"using namespace cv;void detectAndShow(Cas原创 2013-08-25 18:28:11 · 1631 阅读 · 2 评论 -
6轴陀螺仪
http://www.docin.com/p-1244268274.html#pragma once#include #if 0/*float q0, q1, q2, q3;float exInt, eyInt, ezInt;float Kp, Ki;float halfT;float sampleFreq;*//* Pr转载 2017-02-22 15:33:20 · 3467 阅读 · 0 评论 -
c++ 配置文件读取
子函数,删除空格等 std::string& trim(std::string &s){ if (s.empty()) { return s; } s.erase(0, s.find_first_not_of(" ")); s.erase(s.find_last_not_of(" ") + 1); ret...原创 2019-02-20 14:30:49 · 672 阅读 · 0 评论 -
wxWidgets从main启动gui
#include "wx/wx.h"#include "ContextFrm.h"#include <iostream>class App :public wxApp {public: int argc; char** argv; App(int _argc, char** _argv):argc(_argc), argv(_argv) {...原创 2019-04-12 15:34:31 · 665 阅读 · 2 评论 -
linux中使用g++ 编译 使用 opencv
g++ 编译调用opencv函数的c++程序时, 可以使用如下 makefilemainapp: main.o g++ -o mainapp main.o -lopencv_core -lopencv_highguimain.o: main.cpp g++ -c main.cppclean: rm -rf main main.o...原创 2019-06-01 23:34:39 · 903 阅读 · 0 评论 -
dtw
/*** (c) Daniel Lemire, 2008*This C++ library implements fast nearest-neighbor retrieval under the dynamic time warping (DTW).* This library includes the dynamic programming solution, a fast imple...原创 2019-08-01 16:56:49 · 225 阅读 · 0 评论 -
dtw_EXAMPLE
#include "dtw.h"// this just generates some random arrayvector<double> getrandomwalk(uint size) { vector<double> data(size); data[0] = 0.0; for (uint k = 1; k < size; ++...原创 2019-08-01 16:57:37 · 169 阅读 · 0 评论 -
协程
#ifndef STDEX_COROUTINE_H_#define STDEX_COROUTINE_H_#ifndef STACK_LIMIT#define STACK_LIMIT (1024*1024)#endif#include <cstdint>#include <cstring>#include <cstdio>#include &l...原创 2019-08-08 10:29:48 · 146 阅读 · 0 评论