c++
文章平均质量分 71
BHY_
这个作者很懒,什么都没留下…
展开
-
异或加密算法
基于base字符串生成key字符串,如果base_len小于等于src_len,则从base_str截取src_len的长度作为key字符串;如果base_len大于src_len,则将base_str循环生成src_len长度的key字符串。将原字符串与key字符串的对应字符异或处理,得到字符串dst_str,长度与原字符串相同。Base字符串base_str,长度base_len。Key字符串key_str,长度key_len。原字符串src_str,长度src_len。Base字符串:abcdef。原创 2023-02-21 14:49:15 · 1239 阅读 · 0 评论 -
【source insight】配置
【问题1】Source Insight中查看文件显示全路径使用Source insight的时候想看文件的全路径,但是默认的是中间省略的路径,所以可以通过:1.Options-->Preferences-->Displa2.设置Trim long path names with ellipses为取消选择。如图:...转载 2020-02-22 20:44:04 · 244 阅读 · 0 评论 -
【c】函数指针数组
部分转自:https://www.cnblogs.com/zmm1996/p/11752882.html1.函数指针的概念 如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这个地址。既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作函数指针变量,简称函数指针。 ...原创 2019-12-29 11:37:02 · 610 阅读 · 0 评论 -
【c++】C与C++的相互调用问题&opencv list not found
在实际工作中可能经常要进行C和C++的混合编程,C++调用C语言的代码通常都比较容易,但也有一些细节需要注意。C要调用C++的代码就略为麻烦一些,因为C不支持面向对象的特征。下面我们就来看看如何在C语言中使用C++的代码(包括C++类的方法)。为了简单起见,我将类的定义和实现放在一个文件中(通常应该是将分别放在.h和.cpp文件中)。自定义类文件(这里省略了头文件保护等其它细节转载 2017-12-12 19:49:38 · 777 阅读 · 0 评论 -
【opencv】单目标定测量以及遇到的问题
继上篇双目视觉下的空间坐标计算:http://blog.csdn.net/qq_15947787/article/details/53366592结合普通相机标定流程:http://blog.csdn.net/qq_15947787/article/details/51471535单目标定测量这里只是简单的通过一个相机测量桌面(标定板平面为固定平面)上其他物体的尺寸。 图像上的点与...原创 2018-09-15 10:46:11 · 2674 阅读 · 5 评论 -
【mfc】多线程 2017/11/16更新
为了防止界面假死情况发生,需要用到多线程。很基础,一遍日后再用。 处理进程函数:void ClcDlg::OnBnClickedStitching(){ …… AfxBeginThread(ThreadFunc, this); //启动线程}线程:注意子线程中无法直接访问对话框的界面,需要通过重新定义指针变量与对话框和控件进行关联头文件中声明:转载 2017-01-02 20:12:47 · 564 阅读 · 0 评论 -
【vscode】使用vscode多源文件结合opencv编译调试 C/C++
使用vscode多源文件结合opencv库进行开发1、新建文件夹OPENCVTEST2、添加文件main.cpp内容如下:#include "Lib/OpencvTest.h"#include int main(){ OpencvTest* opencvtest = new OpencvTest(); opencvtest->readImage();原创 2017-12-08 14:53:41 · 11329 阅读 · 2 评论 -
【opencv】VS2015+opencv2.4.13 GPU模块编译
这个本来不是新鲜事情了,但是在编译的时候出现了一些问题,不得不去百度,发现很多文章赘述太多,所以还是记录一下,我这里下载的是opencv2.4.13.4,2017年10月12日的版本。1.点[Brouse Source…],选择OpenCV源码那个sources文件夹的路径。 点[Brouse Build…],选择要生成的工程的路径。如下图:2.点击原创 2017-11-15 21:26:39 · 1634 阅读 · 1 评论 -
【opencv3.3】VS2015+opencv3.3 GPU模块编译(包含opencv_contrib模块)
据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进release里边。但是这里边有很多我们经常要用的算法,比如SIFT,SURF等(在xfeatures2d 模块里边)。官网提供了说明,可以把opencv_contrib扩展模块添加编译到已安装的opencv3里边。同时我们还需要编译opencv的G原创 2017-11-15 09:39:38 · 13169 阅读 · 8 评论 -
【tesseract】VS2012编译及调用tesseract遇到的一系列问题
再编译tesseract-vs2012-master时遇到了这样的warning,并带来一系列莫名其妙的error。首先打开有该warning的文件,点击【文件】选【高级保存选项】,显示如下,或是其他别的编码格式,现在开始改变编码格式为【简体中文(GB2312)- 代码页936】或【Unicode】,总之是适合自己的编码格式点击【确定】后保存,重新编译,warn原创 2017-10-28 03:00:00 · 1226 阅读 · 0 评论 -
【mfc】常用的代码【更新】
获取文件夹目录#define BIF_NEWDIALOGSTYLE 0x0040void CFontConvertDlg::OnBnClickedDecgen() { HWND hwnd= GetSafeHwnd(); //得到窗口句柄 CString filePath= _T(""); //得到文件路径 LPMALLOC pMalloc; BOOL flag; i...原创 2017-04-22 21:04:54 · 1368 阅读 · 0 评论 -
【opencv】动态背景下运动目标检测 FAST+SURF+FLANN配准差分 17/12/13更新图片
FAST检测特征点+SURF描述特征点速度上要比SURF在多尺度下检测特征点后描述要快的多在自己的电脑上做了两种实验的对比,通过VS性能分析可以看到结果代码功能SURF提取描述FAST提取SURF描述特征点提取24.2%0.9%特征点描述25%14.7%原创 2017-06-27 14:52:08 · 8165 阅读 · 31 评论 -
【opencv】轮廓高斯滤波平滑
一个小测试的题目:在图像上点选,找到与点选处相邻的颜色相近的点集合,对该点集合提取轮廓,对该点集合轮廓平滑处理,显示处理结果。原创 2017-11-13 12:04:01 · 7516 阅读 · 0 评论 -
【vscode】vscode在windows与ubuntu下编译调试C/C++
总体流程为:1、vscode安装2、插件安装3、MinGW安装配置4、vscode调试配置文件5、运行输出结果windows下详细流程:1、vscode安装下载链接:https://code.visualstudio.com/Download一路下一步完成安装。2、插件安装点击工具和语言,会自动弹出扩展商店,选择C/C++,点击安原创 2017-12-06 16:45:20 · 6811 阅读 · 0 评论 -
【vs】内存泄露检测工具VisualLeakDetector
转自:https://blog.csdn.net/dalong277/article/details/52725778转自:https://blog.csdn.net/winnyrain/article/details/51832850转载与补充:VisualLeakDetector下载地址:https://kinddragon.github.io/vld/安装过程自动添加环境变量,自动关联VS并...转载 2018-04-27 11:38:10 · 1822 阅读 · 0 评论 -
【c++】文件的md5码
MyMd5.h#pragma once /* typedef a 32 bit type */ typedef unsigned long int UINT4; /* Data structure for MD5 (Message Digest) computation */ typedef struct { UINT4 i[2]; ...转载 2018-05-28 20:15:04 · 1865 阅读 · 0 评论 -
【c++】修改jpg图像的dpi
opencv处理保存后的图像,会改变其原来的dpi数值先调用读取jpg图片的dpi函数,然后opencv保存后,再写入原先的dpi值下面是修改jpg图片的dpi函数bool SetResolution(const char* path, int iResolution) { FILE * file = fopen(path,"rb+");// - 打开图片文件 if (!file)ret...原创 2018-05-30 11:18:58 · 6769 阅读 · 1 评论 -
【c++】排序方法及记忆
1、算法分类2、算法复杂度稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数。 记忆方式:1.关于稳定性:不稳定:...转载 2018-07-18 15:06:03 · 348 阅读 · 0 评论 -
【c++】遍历目录下所有文件&文件夹
void dir(string path_src, string path_dst){ long hFile = 0; struct _finddata_t fileInfo; string pathName, exdName; // \\* 代表要遍历所有的类型 if ((hFile = _findfirst(pathName.assign(path_src).append("\\...原创 2019-08-24 21:36:20 · 413 阅读 · 0 评论 -
【mfc】二维数组在picture控件显示
unsigned char arry0[1200][1000];CBitmap m_bmp;void CShowImageDlg::OnBnClickedButton2(){ int iWidth = 1000; int iHeight = 1200; //随机生成颜色 srand((int)time(0)); for (int i = 0; i <原创 2017-10-08 19:03:32 · 1456 阅读 · 1 评论 -
【opencv】vc6.0中opencv打开摄像头失败解决方法
因为要修改的工程是VC6.0下的,只能用opencv1.0读取摄像头,但是在读取的过程中出现了各种问题问题描述:opencv1.0版本的摄像头驱动不兼容win7http://www.xuebuyuan.com/2124092.htmlhttp://blog.csdn.net/williamvalentine/article/details/6599313 (这篇是DirectSh原创 2017-08-15 21:27:12 · 2011 阅读 · 1 评论 -
【c++】编码规范及相应的配置方法
编程规范来源:腾讯 GL/YF 014-2007V1.0-L11、程序块要采用缩进风格编写,缩进的空格数为4个。由开发工具自动生成的代码可能不一致,但如果开发工具可以配置,则应该统一配置缩进为4个空格。配置方法:在菜单中选择: 工具-->选项-->文本编辑器--->所有语言-->制表符 在窗口中选择,制表符大小选为4,勾选插入空格。2、缩进或者对其只能使用空格键,不可使用TAB原创 2017-01-01 16:23:25 · 889 阅读 · 0 评论 -
【opencv】支付宝AR实景红包领取方法
最新的支付宝10.0.0增加了AR实景红包功能。如何不通过寻找实景去得到红包呢?今天早上突然想抢几个红包,于是写了个小程序 首先找到一个周围的红包,点击“按住看线索”,然后屏幕截图。然后提取出线索区域,对该区域的栅格线填充。 对于画质清晰点的得到的效果还是不错的。 截图是在mate8上截图的。需要手动修改一下“线索”区域的左上角点和右下角点坐标新建原创 2016-12-24 11:54:56 · 1839 阅读 · 0 评论 -
【c++】调试技巧之调用堆栈 - Call stack
转自:http://blog.csdn.net/zhg598242449/article/details/7591123简单介绍 调试是程序开发者必备技巧。如果不会调试,自己写的程序一旦出问题,往往无从下手。本人总结10年使用VC经验,对调试技巧做一个粗浅的介绍。希望对大家有所帮助。 今天简单的介绍介绍调用堆栈。调用堆栈在我的专栏的文章VC调试入门提了一下,但是没有详细介绍转载 2016-11-23 20:52:50 · 12365 阅读 · 2 评论 -
【c++】csv文件读写
由于大作业要有这样一个步骤,但是觉得直接写到txt中比较俗,并且不美观,还是写到csv中方便 //已知左右相机成像坐标求空间坐标 Point l(599,532),r(466,408); Point3f worldPoint; worldPoint = uv2xyz(l,r); //cout<<"空间坐标为:"<<endl<<uv2xyz(l,r)<<endl; //csv文件原创 2016-12-05 22:28:59 · 2683 阅读 · 0 评论 -
【c++】点阵字库提取汉字转位图
帮同学做的,由于时间仓促,从网上找来一些代码,拼拼凑凑出来这样一个结果。实现的主要功能是从点阵字库(.FONT)中提取某个汉字或者提取某段汉字另外为图片矢量字库通过一些软件可转为点阵字库原创 2016-11-13 17:14:30 · 7154 阅读 · 3 评论 -
【opencv】Camshift目标跟踪
Camshift原理CamShift算法的全称是"Continuously Adaptive Mean-SHIFT",即:连续自适应的MeanShift算法。其基本思想是对视频序列的所有图像帧都作MeanShift运算,并将上一帧的结果(即搜索窗口的中心位置和窗口大小)作为下一帧MeanShift算法的搜索窗口的初始值,如此迭代下去。简单点说,meanShift是针对单张图片寻找最优迭代结转载 2016-11-14 19:36:03 · 21540 阅读 · 16 评论 -
【vc++/office ocr引擎】图片文字识别
花费了些时间去调试,出现的问题是使用miLANG_ENGLISH,可以正确的识别字母、数字,而一旦使用miLANG_CHINESE_SIMPLIFIED程序就会崩溃,最终找到原因:下载office2003,完全安装(或者已典型安装完的,添加与删除程序–office2003–更改–office工具–Microsoft Office Document Imaging–右键从本机运行)运行环境:vc++6原创 2016-04-22 21:45:49 · 7914 阅读 · 4 评论 -
【c++】产生随机数
转自:http://blog.csdn.net/beyond0824/article/details/6009908<一>C/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。 (1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RA转载 2016-05-11 08:25:39 · 665 阅读 · 0 评论 -
【opencv】stitching图像拼接
本文的程序是采用MFC写的。点击图片路径,选择待拼接的图片目录,要主要该目录下只能存在图片文件,不能有其他类型文件,最后点击拼接即可。 界面如图: 原图:图片是盗取的,链接忘记了,大家有看到告诉我,我加上哦。展示的图片我有缩放,上传的附件里有原图的。 拼接结果: 附件链接:原创 2017-02-16 16:50:24 · 1727 阅读 · 2 评论 -
【opencv】邻域模版匹配
opencv的matchTemplate函数是对整幅图片进行运算,运算量较大。本文接上篇内容,即:http://blog.csdn.net/qq_15947787/article/details/55260002对于SURF目标检测中的多目标,通过鼠标左键单击事件,获得点击的图像坐标,计算当前图像中检测到的离点击位置最近的目标作为模版。上篇中提到了动态背景下运动目标的检测,但是SURF原创 2017-02-23 15:04:25 · 1440 阅读 · 2 评论 -
【opencv】目标识别——轮廓匹配
试了试opencv里面的轮廓匹配来识别物体//对轮廓按面积降序排列 bool biggerSort(vector v1, vector v2) { return contourArea(v1)>contourArea(v2); } int lunkuo(){ Mat img = imread("923.jpg",1); Mat img_temp原创 2017-05-26 22:03:13 · 24356 阅读 · 4 评论 -
【opencv】显微镜/投影仪 圆阵列标定板标定
由于在显微镜以及投影仪下,棋盘格角点提取会非常不准确,因此必须采用圆形阵列标定板进行标定,opencv里本身提供了圆形阵列标定版的接口,然而在显微镜以及投影仪下却提取不到,因为标定板很小(显微镜下才6mm*6mm)经过放大,圆变形很严重,因此这里通过另外的方法求取。拍摄的部分标定图如下:在显微镜视场中,前景与背景区别很大,直接固定阈值128得到二值图即可,在原创 2017-07-26 14:30:44 · 3407 阅读 · 3 评论 -
【c#】C#调用matlab动态链接库
1、C#调用matlab程序方法步骤一:在MATLAB中建一个m文件(test.m)***注意,.m文件名随意,function函数名随意***该程序用于模拟生成雷克子波,并绘图,代码如下:function test()f=250;ts=0.4502/f;T=ts;number=100;t=-number/2:1:number/2;a=(1-2*(pi*f转载 2017-08-05 20:24:26 · 858 阅读 · 0 评论 -
【opencv】Mask影像匀光算法实现
原文:http://blog.csdn.net/lydujing/article/details/50786631原文代码运行时会报错,下面代码直接拷贝的原文代码,如果报错,只需将代码第21行注释。#include #include #include #include using namespace cv;using namespace std;Mat getFFT转载 2017-07-26 16:59:47 · 4712 阅读 · 2 评论 -
【opencv】车辆分车道计数
代码是CSDN上扒的,发现里面有个关键bug,修改完重新上传一下#include "cv.h"#include "highgui.h"#include #include #include #include #include const double MHI_DURATION = 0.5;const int N = 3;const int CONTOUR_MAX_AE转载 2017-06-23 22:22:22 · 6162 阅读 · 7 评论 -
【opencv】目标识别——HSV颜色识别
首先解释为什么不在RGB中设置范围寻找物体信息,而是在HSV中:因为RGB通道并不能很好地反映出物体具体的颜色信息 , 而相对于RGB空间,HSV空间能够非常直观的表达色彩的明暗,色调,以及鲜艳程度,方便进行颜色之间的对比,比如红色在HSV空间中H维度的范围为0~10和160~180 你跟我说在RGB中它的范围是什么呢?在HSV空间各种颜色的范围图来自:http://b原创 2017-06-08 08:41:24 · 51661 阅读 · 2 评论 -
【c++】vector.clear()的内存泄露问题
转自:http://www.cnblogs.com/taiyang-li/p/5997021.htmlvector vec;while (1){ vec.push_back(1); vec.push_back(2); vec.push_back(3); .... // 处理的vec func(vec); // 释放vec内存 vec.cl转载 2017-07-12 17:31:25 · 4242 阅读 · 0 评论 -
【opencv】动态背景下运动目标检测 SURF配准差分
主要思路是,读入视频,隔帧采用SURF计算匹配的特征点,进而计算两图的投影映射矩阵,做差分二值化,连通域检测,绘制目标。如果背景是静态的采用camshift即可。本文方法速度大概2-3帧左右,后续可增加选定目标,动态模版小邻域中跟踪目标。实现对动态背景下的运动目标检测,模版跟踪速度可达150帧。环境:opencv2.4.9 + vs2012#include #include原创 2017-02-16 16:20:33 · 9451 阅读 · 4 评论 -
【opencv】双目视觉下空间坐标计算/双目测距 6/13更新
最近是多么的崩溃,昨天中了最新的cerber病毒,把我的电脑资料一扫而空,虽然有备份,但是已经是一周前的了。不得不加班加点补回来。这篇博客,这是我第二次写,我凭着记忆,重新写一遍之前写的,因为之前写好了,却不小心被删掉,然而CSDN又特别默契的在那一刻保存了一下,满满的都是伤心;摄像机矩阵由内参矩阵和外参矩阵组成,对摄像机矩阵进行QR分解可以得到内参矩阵和外参矩阵。内参包括焦距、主点、倾斜系数、畸...原创 2016-12-02 18:03:35 · 37202 阅读 · 96 评论