C++
六月的翅膀
人生本是无根草,醉了何必问家乡
展开
-
CMake/C++:一个日志库spdlog
然后直接使用visual studio 打开CMakelists,然后编译一下。这个库可以直接包含头文件使用,推荐。项目中自带了一个例子,运行一下。先将仓库clone一下。原创 2024-09-07 11:35:12 · 292 阅读 · 0 评论 -
VS2019+QT VS tools:Debug下ok,relese下报错
尝试卸载原来的QT VS tools:卸载方法,到下面文件夹下可以看到有两个文件夹,分别是两个插件,找到QT的插件,删除文件夹即可。但是删除之后安装新版本的插件还是安装不上,只好再把原来的版本装回去,安装简单,点击下载好的插件即可安装。将Qt Project Setting中Run Deployment Tool选项置为是解决。(可能的原因是我之前的QT是5,重装了QT6,在重装后相关配置发生了变化导致这个问题)尝试一下重装 QT VS tools,结果装不上。总之和上面踩的坑没关系。原创 2024-07-04 14:02:51 · 318 阅读 · 0 评论 -
C++:关于圆形鱼眼半全景图转为等距圆柱投影图
之前记录了立方体和360全景之间的转换,这次记录下鱼眼图与360全景图之间的转换。这里的360全景图其实指的是等距圆柱投影图。原创 2024-05-11 17:09:59 · 325 阅读 · 0 评论 -
C++:VS dump调试(2)
3、代码【有可能只有自己负责模块的代码,没有全部代码,但是基本调试也是只会用到自己部分的代码,别人的代码就不需要你来排查了】上图,dmp是客户现场反馈的,PDB文件夹下的pdb文件是从应用程序整体编译那里得到的。需要先导入符号文件的位置:可以从【调试】->【选项】找到,也可以在右上角那里直接找到。将pdb文件夹的路径添加进去,然后【使用仅限本机进行调试】1、需要dump文件【这个一般是客户现场收集的】2、对应的pdb文件【这个是软件编译时候生成的】之后会让你选择对应的源代码。然后直接打来dmp文件。原创 2024-04-08 20:03:38 · 560 阅读 · 0 评论 -
OpenCV/C++:点线面相关计算(二)
接续,继续更新OpenCV/C++:点线面相关计算_线面相交的点 代码计算-CSDN博客OpenCV处理点线面的常用操作_线面相交的点 代码计算。原创 2024-02-05 17:52:45 · 651 阅读 · 0 评论 -
C++:关于360全景图像和立方体6面全景图像的相互转换
立方体6面全景图像是将全景图贴在正方体的6个面,全景图像分为6块,立方体左边正面右面展开为黄色,背面顶面和底面展开为蓝色。注意:这里的正面和背面是站在立方体内部观察的。展开后的全景图都是在立方体内部看到的画面。从球心向外引射线,与球面和立方体面的两个交点就是相同的点,这两个点对应的像素在没有误差的情况下是同一个。这两个点在其全景图中的UV坐标就是要求的转换。定义一个立方体,需要知道立方体的边长,中心坐标,8个顶点坐标,6个面的法向量。360全景图像,比较容易理解,转换后的360全景图。原创 2024-02-05 11:43:57 · 900 阅读 · 0 评论 -
C++:使用tinyXML生成矢量图svg
使用tinyxml库就是按照svg的格式,将内容写为xml文件,其实也可以写为svg格式,直接打开就是图像。关于svg文件,SVG是基于XML的可扩展矢量图形,svg是xml文件,但是xml范围更广不一定是svg。直接将红框中的几个文件放到项目中即可使用。将xml后缀改为svg打开看看图片。很简单,去下面官网下载。原创 2024-01-24 10:51:48 · 904 阅读 · 0 评论 -
VS中使用QT的插件:QT VS Tools
VS QT 插件原创 2023-08-02 11:20:44 · 3469 阅读 · 1 评论 -
叉积求二维空间两直线交点以及过两点的直线数学原理
无原创 2023-06-06 18:05:33 · 280 阅读 · 0 评论 -
旋转矩阵与欧拉角
旋转矩阵与欧拉角原创 2023-04-18 23:03:50 · 1090 阅读 · 1 评论 -
VS2019中Ctrl+左键不起作用和控制台不驻留(cmd窗口闪退)
VS2019中Ctrl+左键不起作用解决原创 2023-04-18 22:02:34 · 863 阅读 · 0 评论 -
Win10+VS2019安装vcpkg
windows+VS2019安装vcpkg原创 2023-04-17 13:43:13 · 2787 阅读 · 0 评论 -
Windows10+Cmake+VS2019编译opencv
win10 cmake vs2019 opencv contrib原创 2023-04-13 16:08:48 · 857 阅读 · 0 评论 -
C++:代码生成
MT/MTd/MD/MDd原创 2023-02-17 15:02:26 · 334 阅读 · 0 评论 -
C++:cout/printf()指定打印的字体颜色
C++输出彩色字体转载 2023-01-03 17:16:51 · 1182 阅读 · 0 评论 -
C++:函数模板头文件源文件分离
函数模板头文件源文件分离原创 2022-12-13 16:14:36 · 1514 阅读 · 0 评论 -
C++:json解析库
json解析库原创 2022-12-09 00:39:20 · 460 阅读 · 0 评论 -
C++:设置有效位数/保留小数点两位
设置保留n位有效数字原创 2022-10-18 01:14:16 · 2166 阅读 · 0 评论 -
C++:检测按键输入
C++判断按键输入原创 2022-10-12 17:50:50 · 3469 阅读 · 0 评论 -
C++:头文件规范/模板
头文件规范原创 2022-10-11 11:38:05 · 874 阅读 · 0 评论 -
C++/Python:罗德里格斯旋转矩阵
给定两向量求其旋转矩阵/罗德里格斯矩阵原创 2022-08-29 17:47:52 · 2386 阅读 · 2 评论 -
C++:memcpy与大小端变换
memcpy/socket/大小端原创 2022-08-27 02:15:00 · 2430 阅读 · 0 评论 -
C++:cin相关函数
记录一下原创 2022-08-14 23:47:45 · 267 阅读 · 0 评论 -
C++:抽象类
抽象基类原创 2022-08-13 17:11:40 · 433 阅读 · 0 评论 -
C++:添加头文件时出错C3646和C4430
关于C++添加头文件遇到的错误:未知重写说明符、缺少类型说明符原创 2022-08-11 21:18:33 · 2141 阅读 · 1 评论 -
C++:空间坐标映射到球面坐标/全景图
计算空间中点到全景图中的坐标映射原创 2022-07-30 18:52:32 · 1357 阅读 · 1 评论 -
VS2019Debug模式太卡进不去断点
记录一下原创 2022-07-26 13:05:53 · 645 阅读 · 0 评论 -
OpenCV/C++:点线面相关计算
OpenCV处理点线面的常用操作原创 2022-07-05 23:44:46 · 2150 阅读 · 1 评论 -
C++:VS2019 Windows SDK 10损坏重装
VS2019 Windows SDK 10原创 2022-06-23 22:07:36 · 3987 阅读 · 3 评论 -
C++:编译assimp库
编译模型加载库assimp原创 2022-06-21 12:13:28 · 565 阅读 · 0 评论 -
C++/Python:保存C++中的变量用python画图
使用python对C++中的变量画图原创 2022-06-14 14:18:53 · 421 阅读 · 1 评论 -
C++:数值类型转string
#include<iostream>#include<string>#include <sstream>using namespace std;//@ 函数模板//@ 将一些数值转换为string类型template <typename T>string Convert(T input){ stringstream ss; ss << input; string str(ss.str()); return str;}.原创 2022-05-25 10:18:41 · 780 阅读 · 0 评论 -
C++:从json文件中读取参数/创建文件夹/位拼接
目录1、从json文件中读取参数2、创建文件夹3、位运算拼接1、从json文件中读取参数JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似。Jsoncpp是个跨平台的开源库,下载地址:http://sourceforge.net/projects/jsoncpp/。配置方法:首先解压文件夹,将include和src两个文件夹放到项目目录下然后,只需要在VS中添加配置一个包含目录就行还需要把src/..原创 2022-05-23 23:11:56 · 808 阅读 · 0 评论 -
图像处理/opencv/C++:图像马赛克
马赛克操作就是在指定大小的范围内,图像的颜色取成相同的。int masaike(unsigned char *srcData, int width, int height, int stride, int mode){ //@ stride:每个马赛克块的大小 //@ mode: 未使用参数 int ret = 0; int i, j, gray, offset; //offset = stride - width * 3;//这个参数没有用到 //有些情况下会对图像的宽度保持为4原创 2022-04-30 05:30:07 · 4220 阅读 · 0 评论 -
OpenCV:透视变换/仿射变换
//@ 对棋盘格原图透视变换 //@ 将棋盘格图像变换到屏幕大小,但是周边还是会有边框,图像中的屏幕是没有铺满的,误差 Mat chessboard_warp; cv::warpPerspective(model_var.chessboard_image, chessboard_warp, model_var.warpMatrix, cv::Size(model_var.SCREEN_WIDTH, model_var.SCREEN_HEIGHT), cv::INTER_LINEAR.原创 2022-04-25 15:03:36 · 4957 阅读 · 0 评论 -
图像处理/opencv/C++:三种灰度化
#include<iostream>#include<Windows.h>#include<opencv2\opencv.hpp>using namespace std;using namespace cv;#define MIN2(a, b) ((a) < (b) ? (a) : (b))#define MAX2(a, b) ((a) > (b) ? (a) : (b))#define CLIP3(x, a, b) MIN2(MAX2(a.原创 2022-04-24 00:33:14 · 1028 阅读 · 1 评论 -
C++: RAII 与 ScopeGuard
C++ RAII 与 ScopeGuard - 如果的事 - 博客园转载 2022-04-22 17:50:16 · 247 阅读 · 0 评论 -
OpenCV/C++:Mat与二维指针相互转换
对于一个Mat,有时需要将其转为二维指针传递int** mat2ptrarray(Mat& pic){ int** data; data = new int* [pic.rows]; for (int i = 0; i < pic.rows; i++) { data[i] = new int[pic.cols]; for (int j = 0; j < pic.cols; j++) {原创 2022-04-22 09:07:58 · 1828 阅读 · 0 评论 -
QT/C++:生成可执行文件*.exe
注:操作过程中命名应该都用英文命名将QT文件切换为Release模式进行编译找到Release模式生成的文件夹,里面有个exe然后新建一个文件夹(英文命名),用来保存即将生成的可执行文件,将exe复制到新建的文件夹中。打开QT控制台,进入新建的文件路径(不要有中文路径),执行:windeployqt 文件名.exe(新建文件里的可执行文件名)即可生成配置。这里会自动查找依赖的库,然后拷贝到当前路径下如上,本来只有一个exe文件,其余文件是自动拷贝过去的...原创 2022-04-21 09:48:27 · 1966 阅读 · 0 评论 -
图像处理:dither
#include<iostream>#include<opencv2\opencv.hpp>using namespace std;using namespace cv;int main() { Mat img_gray0 = imread("xjj.jpg", IMREAD_GRAYSCALE); int img_h, img_w; img_h = img_gray0.size().height; img_w = img_gray0.size().width;.原创 2022-04-20 11:41:47 · 4619 阅读 · 0 评论