自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (12)
  • 收藏
  • 关注

原创 红外相机和RGB相机标定:实现两种模态数据融合

红外相机和RGB相机标定,实现两种模态数据融合

2024-03-19 14:49:28 1796 4

原创 pybind11实现numpy和OpenCV Mat的数据交互

使用pybind11相比ctypes方法ctypes实现python和c之间的数据交互-CSDN博客,更加简单、易用。但ctypes的优势在于不用额外配置库,python内置了。

2024-01-08 20:32:14 1136

原创 ctypes实现numpy和OpenCV Mat之间的数据交互

将c/c++编译成动态链接库,通过python调用,实现常见变量比如int,字符串之间的交互;以及np.ndarray和cv::Mat见的交互.

2024-01-08 12:21:54 683

原创 ROS2/ROS+conda+pytorch配置

在同一个conda环境下配置ros和pytorch

2024-01-03 14:57:25 1940 3

原创 stm32普通IO口捕获PWM的高电平

思路:普通IO口配置上升沿下降沿触发中断,然后配置一个定时器(周期大于等于PWM周期),在IO口中断中读取定时器计数。定时器不需要配置中断void TIM3_Configuration(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; /* T

2016-12-10 19:55:31 8102 1

翻译 使用ID3算法构建决策树

Entropy(S) = S -p(I) log2 p(I)

2014-08-11 11:00:39 6916

原创 重写优先队列(priority_queue)

STL里面的优先队列没有查找功能,但是在写A*s

2014-07-17 09:15:07 1314

原创 priority_queue的用法

在学习A*算法时用到了prority_queue,在这里简单

2014-07-08 13:29:42 961

转载 Gamma 校正

在计算机系统中,由于显卡或者显示器的原因会出现实际输出的图像在亮度上有偏差,而Gamma曲线矫正就是通过一定的方法来矫正图像的这种偏差的方法。一般情况下,当用于Gamma矫正的值大于1时,图像的高光部分被压缩而暗调部分被扩展,当Gamma矫正的值小于1时,图像的高光部分被扩展而暗调部分被压缩,Gamma矫正一般用于平滑的扩展暗调的细节。公式如下:I' = I^gamma:表示对图像

2014-04-26 17:08:52 11484

原创 opencv+qt通过CGI读取网络摄像头

网络监控摄像头比普通摄像头

2014-04-03 16:49:29 14942 14

原创 Qt读写二进制文件

下面是简单的二进制读写示例#include #include #include #include using namespace std;int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QFile file("test.dat"); file.open(QIODevice::WriteOnly

2014-03-26 17:07:27 31599 3

原创 OpenCV在Qt中显示视频的两种方法

参考:http://blog.csdn.net/augusdi/article/details/8865541代码如下:注意,要在ui界面上放置一个“Vertical Layout”控件,调整到合适大小#include #include #include #include #include #include #include #include #include "ui_

2014-03-21 10:00:24 40944 4

转载 Qt 5.1.1 中找不到'GLES2/gl2.h'文件的解决办法。

今天使用Visual Studio建立了一个Qt 5.1.1 项目,可是建立以后编译却发现出现了故障:[html] view plaincopysrc/gui/opengl/qopengl.h(55) : fatal error C1083: Cannot open include file: 'GLES2/gl2.h': No 

2014-03-05 09:38:45 2390

转载 机器学习中的超平面

学习函数间隔(functional margin)和几何间隔(Geometric margin)时,补习了一下超平面的知识,记录如下。 一、仿射空间(1)直线——1维仿射空间给定n维的空间中,一条直线是方向向量v以及直线上的一点P决定。如下图所示:图1:line figure illustration

2014-02-27 09:24:06 3330

原创 OpenCV学习--仿射变换(affine)

图像的基本几何变换有-- 平移,旋转,尺度,仿射;仿射变换可以理解为平移旋转尺度的组合效果。下面给出数学上的定义是输入图像的点,时输出图像的点A是旋转矩阵, B是平移向量(一)平移的实现(二)旋转的实现(三)尺度的实现从上面的实现可以看出,使用仿射变换是需要求解6个参数,旋转矩阵4个,平移向量2个。这也是我们在使用OpenCV的warpAffine函数时需要

2013-12-29 21:21:07 1742

原创 寻找凸包 convex hull(二)——Graham_Scan

这篇继续凸包得的寻找,上篇文章中使用了暴力的方法,在网上又看了一些资料下面会介绍常用的算法 Graham_Scan首先介绍一下有向面积的概念:算法的大致步骤:1)对于给定的点集 data 寻找其中y坐标最小的点作为起始点p2)  把坐标原点移动到p处,然后计算每个点与x轴正方向的夹角3)根据夹角的大小排序,得到排序后的点集data4)设点集data中有N个数据,数组

2013-12-24 11:21:09 2258

原创 寻找凸包 convex hull(一)

今天学习OpenCV2中的ConvecHull函数连接如下:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/shapedescriptors/hull/hull.html#hull网上看了看有好多种方法来实现凸包的寻找,我自己也尝试一下暴力搜索解决这个问题搜索的思路就是:凸包上的每条边都会是所有点在该直

2013-12-23 18:28:09 1375

原创 二叉查找树(二)--简单的信息检索程序

继续总结二叉查找树的学习,上篇中最后的测试代码为了简单使用的是整形,那么这篇文章要贴出来的是一个信息检索程序。它要做的就是给定一个文本,找出其中用了哪些不同的词以及每个词使用了多少次。最后的测试数据是截取马丁路德金的前一部分,自己把里面的标点符号都去了。这里主要用到两个函数update和print他们的作用就不用说了大家一看就懂void update(Word &word, Searc

2013-11-08 17:02:43 967

原创 二叉查找树(一)

上篇文章中记录了二叉树的基本功能的实现,现在继续总结二叉树的学习。为啥要用二叉查找树呢,我们知道在顺序表上使用二分查找是非常快的,但是顺序表的插入和删除就显得有点麻烦;而链表的插入和删除仅需要调整一些指责就OK了。二叉查找树就是要达到快速查找(就像顺序表上的二分查找),而且要做到快速的插入和删除(就想操作链表一样)。下面是基本定义:二叉查找树是一颗二叉树,它或者为空,或者它的每个节点有

2013-11-07 16:51:43 778

原创 类模板实现的基本二叉树

关于二叉树的基本知识还是有必要去了解的,比如根据二叉树写出三种遍历,以及根据给出的遍历写出其他方式的遍历和重构二叉树等,这些知识点还是很有意思的,下面的代码很多都是参考网上的,我这里贴出来主要是作为我学习数据结构的一些总结吧首先是树节点的定义:templatestruct Binary_node{ Entry data; Binary_node* left; Binary_n

2013-11-06 11:17:55 4628 2

原创 哈希(hash)算法的学习(二)

这一部分主要是贴出代码#ifndef HASH_TABLE_H#define HASH_TABLE_H#include using namespace std;class Key:public string{public: char key_letter(int position) const; void make_blank(); Key(const string &

2013-11-01 17:20:10 2034

原创 哈希(hash)算法的学习(一)

首先要解释一下键的概念,如果学过数据库的话这段可以跳过,比如现在有个Record类记录我们每个人的基本信息,类成员有姓名,学历,身高,身份证号,出生年月等,那么这些成员中哪一个可以作为唯一标识去区别呢,很明显身份证号是可以的,那么我们就可以认为身份证号码可以作为Record类的一个键一 :算法摘要1,初始化操作 ---- 首先必须申明一个数组去容纳哈希表,接下来必须对数组中的所有元素初

2013-10-31 17:32:58 1709

原创 C++类模板实现单链表

-----------------------Chain.h---------------------------#ifndef CHAIN_H_#define CHAIN_H_#include using namespace std;enum Err_type{success, underflow, rangeerror, overflow};templatestruct C

2013-10-28 09:52:59 969

原创 栈学习--简单的括号匹配

#include #include #include using namespace std;void PrintMatchedPairs(char *expr){ stack s; int data; int num = strlen(expr); for(int i=0; i<num; i++) { if(expr[i] == '(') s.push(i);

2013-10-27 20:49:36 596

原创 C++类模板实现双链表

-----------------------------------------------------------------List.h--------------------------------------------------------------------------------------------------------#ifndef LIST_H_XX#de

2013-10-25 10:02:43 1010

原创 OpenCV学习--腐蚀与膨胀

主要学习函数 createTrackbar 如何创建 trackbar,和编写回调函数     erode 腐蚀图像     dilate 膨胀操作int createTrackbar(const string& trackbarname, const string& winname, int* value, int count,CvTrackbarCallbackon

2013-10-10 11:30:26 3725

原创 OpenCV学习--saturate_cast防止数据溢出

在OpenCV学习中经常看见saturate_cast的使用,下面的代码会展示它的作用,详细的代码可以参见文章http://blog.csdn.net/mjlsuccess/article/details/12400787//使用图像混合例子中的C语言版本演示for (int i=0; i<src1.rows; i++){ const uchar* src1_ptr = src1.p

2013-10-07 20:25:09 33290 2

原创 OpenCV学习--实现两幅图像的融合

源代码来源于官网的OpenCV教程,实现的功能比较简单最后自己动手用C语言实现了一下,貌似比库函数要快一点#include "StdAfx.h"#include "blending.h"using namespace std;using namespace cv;void blending_test(){ Mat src1, src2, dst; double alpha =

2013-10-07 19:59:42 24067 2

原创 如何计算产生SPWM所需要的占空比

在上一篇文章里粘贴了STM32产生SPWM的代码,我在编写这些代码时最大的问题就是如何得到占空比,就是代码中的数组 Duty[]。他的思想就是对正弦波采样,在采样点出用PWM的占空比来代替正弦波在该点的数值。最容易想到就是用定时器的ARR值乘以sin(2*pi*f*t),就可以得到对应的寄存器CCR值。但是CCR值不能为负,所以要把sin(2*pi*f*t)变为A*sin(2*pi*f*t)+

2013-09-03 21:46:51 16476 9

原创 STM32产生SPWM

/** @author Mei Jilin @date 2013/9/2 @brief 加入生成SPWM部分**/#include "timer.h"#include "led.h"static uint16_t CCR3_Val = 1800;static uint16_t PrescalerValue = 0;/*PWM输出配置说明,*//* - Pres

2013-09-03 21:11:27 19737 10

原创 stm32adc多通道数据采集

/** @date 2013/8/28    @author Mei Jilin@brief    ADC1µÄÅäÖÃÍê³É3ͨµÀµÄÊý¾Ý²É¼¯    @attention       1 ----------- adc_config();                     //ÅäÖÃadc       2 ----------- adc_start(

2013-08-29 11:13:52 16419 2

原创 POJ--1004

#include using namespace std;float financial[12];int main(void){ int n = 0; float sum = 0; while((cin>>financial[n]) && (++n!=12)) continue; for (int i=0; i<12; i++) { sum += financial[i]

2013-08-06 22:44:07 579

原创 POJ-1003

#include using namespace std;int fun(float dat);float input[20];int main(void){int n =0;while (cin>>input[n]){if ((input[n] == 0.00) || n==19) break;n++;}for (int i=0;

2013-08-06 22:23:48 620

转载 三维中 Yaw, pitch and roll 的区分(图片)

三维中 Yaw, pitch and roll 的区分(图片)              yaw 旋转                                         pitch旋转                             roll旋转

2013-07-22 21:22:50 1087

原创 vc中如何把窗口坐标系转为笛卡尔坐标系

vc中默认的坐标系是MM_TEXT,即以左上角为原点,以右方当做x的正方向,以下方当做y轴的正方向。他的好处是窗口中的每一点坐标不会随着窗口的大小而改变,即你改变窗口时窗口中的图形不会改变。如果要转为笛卡尔坐标系需要使用MM_ISOTROPIC(用户自定义X=Y)或者MM_ANISOTROPIC(用户自定义X!=Y),isotropic是相等的意思。函数1:模式选择int SetMap

2013-07-03 17:32:39 3675 1

转载 wParam与 lParam

根据字面意思理解:WPARAM就是DWORD_PARAMETER(双字节参数)的缩写.LPARAM就是LONG_PARAMETER(长整型参数)的缩写.WPARAM:16位(双字节(在16位系统的时候))的消息参数。值的格式和意思取决于主要的事件消息类型。在不同的情况下,WPARAM变元可能传输一个坐标点对,使用低字值标识次要的消息类型,提供某些其他的数据类型,或被完全忽略

2013-07-02 23:11:07 956

转载 Windows窗口相关的一些概念解释

最近工作中关于UI开发方面的东西多了些,碰到问题的时候查阅了很多资料,对Windows窗口的一些概念的理解也慢慢深入了很多。在这篇中把一些比较容易混淆和相关资料比较少的概念做一个总结,可能你用到这些概念的几率不大,但是一旦你遇到相关问题,解决起来还真是要费一番功夫。一、窗口的分类Windows定义了3种窗口类型:#define WS_OVERLAPPED 0x00000000L

2013-07-02 22:11:27 1500

原创 如何获得窗口句柄(FindWindow函数的使用)

一: 获得主窗口HWND WINAPI FindWindow( _In_opt_  LPCTSTR lpClassName, _In_opt_  LPCTSTR lpWindowName); 该函数通过创建窗口时的类名和窗口名查找窗口并返回该窗口的句柄,函数不会搜索子窗口。该函数区分大小写。参数lpClassName [in, optional]Type: LPCTSTR类

2013-07-02 19:58:03 43396 4

转载 TranslateAccelerator的使用

函数功能:翻译加速键表。该函数处理菜单命令中的加速键。该函数将一个WM_KEYDOWN或WM_SYSKEYDOWN消息翻译成一个WM_COMMAND或WM_SYSCOMMAND消息(如果在给定的加速键表中有该键的入口),然后将WM_COMMAND或WM_SYSCOMMAND消息直接送到相应的窗口处理过程。TranslateAccelerator直到窗口过程处理完消息后才返回。函数原

2013-07-02 16:55:25 2899

转载 MAKEINTRESOURCE的作用

MAKEINTRESOURCEMAKEINTRESOURCE是一个资源名转换的宏,   VC的定义是(winuser.h):   #define MAKEINTRESOURCEA(i) (LPSTR)((ULONG_PTR)((WORD)(i)))   #define MAKEINTRESOURCEW(i) (LPWSTR)((ULONG_PTR)((WORD)(i))) 

2013-07-02 16:11:29 18768

常见汉字的Unicode和GB2312映射表

在开发stm32时,从网上接收到utf8的数据流中包含汉字,如果要正确的在串口中打印汉字的话,就要把utf8(一个汉字3字节)转为GB2312(一个汉字2字节),这个过程不能直接转化,因为GB2312只有和16位的Unicode有映射,所以要先把utf8转为Unicode(这个网上有很多教程,不包含在本资料内),然后2分法查表就能找到GB2312对应映射了。

2016-07-02

opencv+qt通过CGI读取网络摄像头(工程)

opencv+qt通过CGI读取网络摄像头的源文件,使用的是vs2010、Qt5和OpenCV2

2016-03-15

具有查找功能的优先队列

C++的priority_queue没有查找功能,这里重写了该数据结构,并加入查找功能

2014-07-17

二叉查找树实现简单的信息检索

二叉查找树实现简单的信息检索

2013-11-08

二叉查找树C++实现

二叉查找树的C++实现

2013-11-07

使用模板编写的基本二叉树

使用模板编写的基本二叉树,使用模板编写的基本二叉树

2013-11-06

计算生成SPWM的占空比的软件

产生spwm占空比,输出文件 data.txt 保存占空比数组, log.txt保存一些参数

2013-09-03

stn32-3通道ADC采样

stm32 的adc多通道数据采集,使用DMA传输

2013-09-03

quartus ii 9.1 破解文件

quartus ii 9.1的破解文件,win7下亲测很好用的

2012-12-27

Python学习资料

python的入门书籍,《简明Python教程》讲的很基础,《Python学习手册》可以作为提高

2012-08-31

CameraDS(yushiqi)

于仕琪老师的CameraDS类,包含了DirectShow

2012-08-30

空空如也

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

TA关注的人

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