
C++
Dandelion_2
这个作者很懒,什么都没留下…
展开
-
一种把项目封装为DLL的方法
通过代理模式封装动态链接库:需要导出的类template class std::shared_ptr< ExpressSheetClass::Impl>;class ExpressSheetClass::Impl{public: Impl() {}; ~Impl() {}; void init(); cv::Mat getUprightImg(cv::Mat& image);private: std::string config_path = "config_原创 2021-10-23 10:34:17 · 1104 阅读 · 0 评论 -
Visual Studio 2017运行main函数带参数的C++程序
第一种方式通过cmd窗口运行,把运行目录改到项目文件中Debug目录下,输入程序的.exe文件和程序所需的参数。第二种方式打开项目属性页面,点击调试,在命令参数中输入所需参数即可,不过这种方式需要在这个地方改来改去,比较麻烦。...原创 2021-05-10 21:20:28 · 1586 阅读 · 0 评论 -
指针数组与数组指针
原创 2020-10-16 17:04:13 · 164 阅读 · 0 评论 -
C++实现图像的旋转,裁剪,gamma变换,平移
#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;using namespace std;/**************************************************************************************************************Function: RotateImageDescription:原创 2020-07-16 18:34:50 · 1180 阅读 · 0 评论 -
Mat取行或列
Mat取行或列首先opencv Mat中如何取出某一行或某几行,某一列或某几列呢?Mat dataCol;dataCol = FeatureValue.colRange(j,j+1).clone();直接使用Mat类中成员函数,方法,colRange对应的是列,rowRange对应的是行,从第j列(下标从0开始)到第j列,也就是说只取出第j列而已。后面的clone表示深拷贝,不使用clone表示浅拷贝。深拷贝与浅拷贝浅拷贝的说明如下:Mat B; B = image // 第一种方式原创 2020-06-03 09:53:47 · 1403 阅读 · 0 评论 -
c++图片批量改名
先获取一个文件夹下的所有文件夹路径,在堆每个路径下的图片统一改名#include<iostream>#include<opencv2/opencv.hpp>#include<string>#include<io.h>using namespace std;using namespace cv;void getJustCurrentDir(string path, vector<string>& files){原创 2020-05-28 16:22:09 · 530 阅读 · 0 评论 -
C++矩阵库 Eigen 快速入门
Eigen 矩阵定义#include <Eigen/Dense>Matrix<double, 3, 3> A; // Fixed rows and cols. Same as Matrix3d.Matrix<double, 3, Dynamic> B; // Fixed rows, dynamic cols.Matrix<double, Dynamic, Dynamic> C; // Full dyna转载 2020-05-19 09:45:29 · 450 阅读 · 0 评论 -
c++ Mat类型写入txt 与从txt读取
#include<iostream>#include<opencv2/opencv.hpp>//#include<algorithm>using namespace std;using namespace cv;#include<string>int main(){ string filename = "C:\\Users\\Adm...原创 2020-04-29 17:07:08 · 2410 阅读 · 2 评论 -
C++中的浮点数
在 C++ 中有以下 3 种数据类型可以表示浮点数,分别是 float、double 和 long double。float 数据类型被认为是单精度。double 数据类型通常是 float 的两倍大小,因此被认为是双精度。顾名思义,long double 数据类型又比 double 要大。这些数据类型的确切大小取决于当前使用的计算机。唯一可以保证的是:double 至少与 float 一样大...原创 2020-04-23 10:19:52 · 2211 阅读 · 0 评论 -
c++如何实现matlab中的sort函数
matlab中的sort函数可以返回排序后的值以及索引值,但是应为在c++中一个函数只能返回一个结果,所以用sort函数实现返回排序后的值,用sortIdx函数返回排序后的索引值。opencv提供了排序函数: sort和sorIdx , 其中sortIdx可以获取排序后的序号,比较方便;sort原型:Sorts each row or each column of a matrix.C+...原创 2020-04-18 15:09:48 · 762 阅读 · 0 评论 -
C++批量读取图片
#include <opencv2/opencv.hpp>#include <iostream>#include <vector>#include <string>#include <fstream>using namespace std;using namespace cv;int main(){ //绝对路径下 ...原创 2020-04-15 10:07:38 · 2229 阅读 · 0 评论 -
C++程序内存布局
一个有C/C++编译的程序占用内存分为以下几个部分,(1)全局区(静态区)(static)存放全局变量、静态数据,const常量。程序结束后由系统释放。(2)栈取(stack)函数运行时分配,函数结束时释放。由编译器自动分配释放,存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。其操作方式类似以数据结构中的栈。(3)堆区(heap)一般由程序员分配释放,程序结束时可能由操作系...原创 2020-03-18 10:20:54 · 253 阅读 · 0 评论 -
const修饰指针、常量、指针和常量
原创 2020-03-09 17:06:32 · 275 阅读 · 0 评论 -
值传递-形参改变实参不变
形参改变前形参改变后原创 2020-03-09 09:16:38 · 1894 阅读 · 1 评论