c++
cvml
这个作者很懒,什么都没留下…
展开
-
c++ 多个头文件定义同一个namespace
存在两种情况: 1)名字空间名称相同,成员名字不同(其中成员名字指的是命名空间中的类,函数以及变量),那么他们会自动合并为一个名字空间,可以理解为追加 2)名字空间名称相同,成员名称相同。那么程序会在调试过程的link时报错。因为连接器会检测到重复定义的变量。原创 2017-09-06 15:18:54 · 4466 阅读 · 0 评论 -
undistortPoints opencv
调用方法std::vector inputDistortedPoints = ...std::vector outputUndistortedPoints;cv::Mat cameraMatrix = ...cv::Mat distCoeffs = ...cv::undistortPoints(inputDistortedPoints, outputUndistortedPoints原创 2017-07-27 15:26:02 · 5494 阅读 · 2 评论 -
error LNK2001: 无法解析的外部符号 _AVIStreamGetFram
在移植一段屏幕录像程序功能的时候出错,包含了头文件#include "Vfw.h" 链接时出错Linking...ScreenCapDlg.obj : error LNK2001: unresolved external symbol [email protected] : error LNK2001: unresolved external symbol _转载 2017-08-04 10:21:13 · 1312 阅读 · 0 评论 -
c++ 拷贝构造函数中形参对象可以直接访问private变量
恩,就酱原创 2017-07-22 18:11:52 · 951 阅读 · 1 评论 -
计算平面两个向量的夹角
使用atan2函数,分别计算两个向量与x轴的夹角,然后进行相减即可原创 2017-07-31 14:43:21 · 5657 阅读 · 0 评论 -
opencv yml 读取写入 摄像机标定参数
#include "opencv2/opencv.hpp"using namespace cv;int main(int, char** argv){ FileStorage fs("test.yml", FileStorage::WRITE); Mat cameraMatrix = (Mat_(3, 3) << 1000, 0, 320, 0, 1000, 240, 0, 0, 1);原创 2017-07-18 09:21:58 · 2527 阅读 · 0 评论 -
转换到 COFF 期间失败: 文件无效或损坏
转自 http://blog.csdn.net/zengraoli/article/details/39081901不知怎么本来编译好好的VS2010环境,忽然出现“转换到COFF 期间失败:文件无效或损坏”的链接错误。花了好多天,试了好多方法,最终解决了这个问题。现在罗列一下这几种解决方案:方案1: 点击“项目”--转载 2017-07-13 15:00:16 · 215 阅读 · 0 评论 -
C/C++创建和删除文件夹操作
转自 http://blog.csdn.net/woodsp/article/details/54923937一、创建文件夹1、调用Windows API函数 CreateDirectory()头文件代码如下:#include //头文件 #include using namespace std; int main转载 2017-06-13 11:19:13 · 425 阅读 · 0 评论 -
c++ 返回多个值
#includeusing namespace std;int* fun1(const int & a,const int & b){int sum = a + b;int mul = a*b;int *result = new int[2];result[0] = sum;result[1] = mul;return result;}int原创 2017-07-09 15:41:20 · 412 阅读 · 0 评论 -
c++ 函数中的部分代码执行一次
#includeusing namespace std;int fun1(int a){ static bool once = true; if (once) { cout << "once" << endl; //只执行一遍的代码 } once = false; cout << pow(a, 3) << endl; return 0;}int main(){ w原创 2017-07-10 15:56:15 · 4201 阅读 · 1 评论 -
c++ 读取txt文件,split分割字符串
#include #include #include #include #include #include #include #include #include using namespace std;string pattern=" ";int x;vector split( string str, string pattern)原创 2016-10-13 17:17:35 · 5422 阅读 · 0 评论 -
c++ string 转 int
转自http://blog.csdn.net/caroline_wendy/article/details/29390573C语言转换形式:[plain] view plain copy print?... std::string str; int i = atoi(str.c_str());转载 2017-02-16 14:15:26 · 569 阅读 · 0 评论 -
从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级。本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能讲讲其用法:1、sort入门:使用sort需要包含algorithm头文件,完整代码如下#include#include#include//貌似可以不用,但最好加上。转载 2017-10-17 20:15:03 · 568 阅读 · 0 评论 -
vector查找数据并返回索引
vector::iterator ite1 = find(vec_dis.begin(), vec_dis.end(), vec_dis1[0]);vector::iterator ite2 = find(vec_dis.begin(), vec_dis.end(), vec_dis1[1]);vector::iterator ite3 = find(vec_dis.begin(), ve原创 2017-10-18 15:53:19 · 27337 阅读 · 1 评论 -
浅谈C/C++排序函数中cmp()比较函数的写法(qsort sort函数)
转自 http://blog.csdn.net/lionel_d/article/details/41746135首先,我们来谈谈大名鼎鼎的void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));它属于C语言标准库函数,应该是运用最多的了,今天我不是来教你们怎么用qsort的转载 2017-10-19 15:03:55 · 1409 阅读 · 0 评论 -
结构体和枚举变量
#include<iostream>#include<cstring>using namespace std;typedef enum {face=0,security=1,supermarket=2,person=3,car=4,non_vehicle=5} feature_type;typedef enum {cos=0,euclidean=1} simila...原创 2018-09-03 11:08:46 · 392 阅读 · 0 评论 -
OSError: libcudart.so.8.0: cannot open shared object
遇到这种类似的错误,如果在.bashrc下面添加LD_LIBRARY_PATH没用,可以使用如下神器sudo sh -c "echo '/usr/local/cuda/lib64\n/usr/local/cuda/lib' >> /etc/ld.so.conf.d/nvidia.conf"sudo ldconfig...原创 2018-06-25 15:19:13 · 1135 阅读 · 0 评论 -
gcc相关
转自https://www.cnblogs.com/benio/archive/2010/10/25/1860394.htmlgcc -l参数和-L参数-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了 好了现在我们知道怎么得到库名,当...转载 2018-05-28 16:14:05 · 146 阅读 · 0 评论 -
C++类中类成员函数 对同类对象private成员访问
转自:http://www.cnblogs.com/yanqi0124/p/3828507.html私有成员变量的概念,在脑海中的现象是,以private关键字声明,是类的实现部分,不对外公开,不能在对象外部访问对象的私有成员变量. 然而,在实现拷贝构造函数和赋值符函数时,在函数里利用对象直接访问了私有成员变量,因而,产生了困惑.下面以具体实例进行说明:疑惑:为什么第26行和第32行代码可以编译...转载 2018-03-14 16:04:50 · 3683 阅读 · 0 评论 -
【C++】修改VS2013的默认堆栈大小
在调用递归函数的时候,层数太深,导致了调用栈溢出,可以修改栈的大小在解释原因前我们先看一下一个由C/C++编译的程序占用的内存分为几个部分:1、栈区(stack segment):由编译器自动分配释放,存放函数的参数的值,局部变量的值等。在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在WINDOWS下,栈的大小是2...转载 2018-03-12 11:07:27 · 5953 阅读 · 0 评论 -
C++中this指针
先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。用这个类型可以来声明一个变量,比如int x, myclass my等等。这样就像变量x具有int类型一样,变量my具有myclass类型。理解了这个,就好解释this了,my里的this 就是指向my的指针。如果还有一个变量myclass mz,mz的this就是指向mz的指针。 这样就很容易理解...转载 2018-03-15 09:34:23 · 170 阅读 · 0 评论 -
warning C4273dll链接不一致
warning C4273dll链接不一致 方法1: 选择项目->属性->预处理器->预处理定义, 增加:HYCOMMONWINAPI_EXPORTS方法2:就是在#ifdef HYCOMMONWINAPI_EXPORTS#define HYCOMMONWINAPI_API __declspec(dllexport)#else#def转载 2018-01-09 14:30:44 · 1585 阅读 · 0 评论 -
模板函数声明与定义全都要放在.h文件中?为何不可以分开写?
诡异原创 2018-01-09 11:38:19 · 1531 阅读 · 1 评论 -
90 个名企笔试题 + 算法题
名企笔试名企笔试:美团2016招聘笔试(股票交易日)名企笔试:搜狐2016招聘笔试题(扎金花)名企笔试:凤凰网2015招聘(二分查找)名企笔试:4399游戏校招笔试题(快速排序)名企笔试:蘑菇街2016招聘笔试(回文串)名企笔试:网易招聘笔试(升级之路)名企笔试 : 完美世界招聘笔试(子序列)转载 2018-01-24 09:21:02 · 1594 阅读 · 0 评论 -
YUV(YV12)转RGB32
#include #include #include #includeusing namespace cv;using namespace std;bool YV12_to_RGB32(unsigned char* pYV12, unsigned char* pRGB32, int iWidth, int iHeight);int main(){ clock_t t1 = cl原创 2018-01-05 14:34:30 · 1845 阅读 · 0 评论 -
增强图像对比度
void convertImage(Mat src, Mat dst, int valBright, int valContrast){ int varBright = ADJUSTVAL(valBright, -100, 100); int varContrast = ADJUSTVAL(valContrast, -100, 100); double alpha, beta; if (原创 2018-01-04 09:59:41 · 600 阅读 · 0 评论 -
error: invalid initialization of non-const reference of type ‘*&’ from a temporary of type
属于函数参数引用临时变量错误解决方案:函数声明和定义中在该参数的类型前添加const关键字。 例:void test_func(string &str); 将其改为:void test_func(const string &str); 在该函数实现中的对应位置做同样的改动。转载 2017-10-30 09:59:08 · 2135 阅读 · 0 评论 -
C++ 字节对齐
一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果转载 2017-06-18 10:56:25 · 410 阅读 · 0 评论 -
c++ 运算符优先级
优先级操作符描述例子结合性1()[]->.::++--调节优先级的括号操作符数组下标访问操作符通过指向对象的指针访问成员的操作符通过对象本身访问成员的操作符作用域操作符后置自增操作符后置自减操作符(a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 34;转载 2017-06-15 20:44:27 · 223 阅读 · 0 评论 -
c++ pair
1 pairint, double> p1; //使用默认构造函数2 pairint, double> p2(1, 2.4); //用给定值初始化3 pairint, double> p3(p2); //拷贝构造函数1 pairint, double> p1; //使用默认构造函数2 p1.first = 1;3转载 2017-06-15 19:40:04 · 170 阅读 · 0 评论 -
c++ 保存变量数值到txt
ofstream kuangaobi; kuangaobi.open("C://Users//Administrator//Desktop//1.txt"); kuangaobi kuangaobi需包含头文件#include原创 2016-09-28 16:28:29 · 2330 阅读 · 0 评论 -
vs2010 删除空行
ctrl+H 调出替换框,选择使用正则表达式将^$\n替换为无原创 2016-10-24 14:51:21 · 321 阅读 · 0 评论 -
c++ time.h显示程序运行时间
#include #include void test(){ int a = 0; for (int i=0;i a++;}int main(){ clock_t t1 = clock(); for (int i=0;i test(); clock_t t2 = clock();转载 2016-10-21 19:35:46 · 742 阅读 · 0 评论 -
c++ 产生随机数
C++的随机数函数为rand(), 可以获得一个非负整数的随机数。要让随机数限定在一个范围,可以采用模除加加法的方式。要产生随机数r, 其范围为 m<=r<=n,可以使用如下公式:rand()%(n-m+1)+m其原理为,对于任意数,0<=rand()%(n-m+1)<=n-m于是0+m<=rand()%(n-m+1)+m<=n-m+m即m转载 2016-10-09 11:08:00 · 291 阅读 · 0 评论 -
opencv scalar
opencv scalar中三元素的顺序为BGR,若有第四个,为透明度原创 2016-09-12 09:43:11 · 902 阅读 · 0 评论 -
visual studio 皮肤
http://studiostyl.es/ vs皮肤下载原创 2016-09-10 15:29:58 · 299 阅读 · 0 评论 -
opencv convertTo函数
depth_image_src.convertTo(depth_image, CV_8U, 255./4096.);将depth_image_src转换为depth_image原创 2016-09-09 10:25:21 · 1190 阅读 · 0 评论 -
c++ vector
一、向量的介绍 向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。 在使用它时, 需要包含头文件 vector, #include转载 2016-09-09 17:55:18 · 230 阅读 · 0 评论 -
c++ cpp头文件与h头文件
.h是头文件,是一些类的声明,方法的声明的地方,比如class A{ public :A(); void run(); void stop(); ~A();}.cpp里面放函数的定义void A::run(){内容}void A::stop(){内容}这样做的目的是,别人看你写的类,只用看你的声明,就可以了解,怎么调用的你方法,当然转载 2016-09-09 10:32:13 · 483 阅读 · 0 评论 -
vector push_back和at
1.vector中push_back函数的意思是在vector的末尾插入一个元素。2.vector简单理解为动态一维数组push_back作用是在这个一维数组尾部插入一个元素 vector v; v.push_back(1); //v里面是: 1 v.push_back(2); //v里面是: 1 , 2 v.push_back(3); //v里面是: 1 , 2 , 3原创 2016-09-09 10:09:32 · 657 阅读 · 0 评论