- 博客(31)
- 收藏
- 关注
原创 SQLite步骤
C++使用SQLite步骤及示例1、 下载sqlite文件。下载网址:http://www.sqlite.org/download.html。SQLite版本为SQLite 3.11.1,相关文件如下。sqlite-dll-win32-x86-3110100.zip:包含sqlite3.def、sqlite3.dll文件。sqlite-amalgamation-3110100.zip:包含sqlite3.h 文件。sqlite-tools-win32-x86-3110100.zip:包含sqli
2021-10-13 15:59:51
195
1
原创 git常用命令
git常用命令git config --global user.name "GTTON"git config --global user.email "tornadoweb@163.com"git initgit remote add origin https://gitee.com/gtton/test.gitgit push -u origin mastergit remote add origin https://gitee.com/gtton/test.gitgit push -
2021-09-16 17:14:51
130
原创 射线与三角形相交
射线与三角形相交虽然射线和三角形的相交检测可以用来实现拾取(Picking),但是大多数程序并不采用这个方法,原因是这个方法效率很低,我们可以设想,一个大型的3D游戏,某个模型的三角形数量很可能是百万级的,在此情况下,对模型上的每个三角形求交是一件极其耗费时间的事情。所以一般可行的方法是,用包围球和包围盒(AABB、OBB、FDH)来代替,计算出能容纳模型的最小球体或者举行提,只要判断射线与包围球或者包围盒求交即可,只是精确度上有一定误差,但是足以满足多数程序的需要。coding// Vecto
2021-09-06 12:28:56
458
原创 VScode使用
常用环境变量${workspaceFolder} - 打开文件夹所在路径${file} - 当前已打开文件${fileBasename} - 当前已打开文件名${fileBasenameNoExtension} - 当前已打开文件名无后缀${cwd} - 在启动时的当前工作目录Debugger"name": "xfb","type": "cppvsdbg","request": "launch","program": "${workspaceFolder}/bin/xfb.exe",
2021-07-15 14:26:22
333
原创 vs code配置
vs code配置1 用户配置其他操作通过shift + command + p查找运行,比如用户设置:shift + command + p后,输入user setting,打开用户设置;shift + command + p theme可选择主题颜色2 调试2.1 c++ 编译完代码后,可用F5开始代码调试。如无launch.json配置文件,vscode将会自动生成该文件进行调试配置,如下所示:{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现
2021-06-25 09:51:30
313
原创 三角函数公式
三角函数公式两角和公式sin(A+B) = sinAcosB+cosAsinBsin(A-B) = sinAcosB-cosAsinBcos(A+B) = cosAcosB-sinAsinBcos(A-B) = cosAcosB+sinAsinBtan(A+B) = (tanA+tanB)/(1-tanAtanB)tan(A-B) = (tanA-tanB)/(1+tanAtanB)cot(A+B) = (cotAcotB-1)/(cotB+cotA)cot(A-B) = (cotAcot
2021-06-23 14:52:22
237
原创 Ubuntu显卡驱动安装
//禁用nouveausudo vi/etc/modprobe.d/blacklist-nouveau.conf//添加/*blacklist nouveauoptions nouveau modeset=0*/sudo update-initramfs -usudo rebootapt-get autoremove nvidia*service lightdm stop-->>//查看drivers ubuntu-drivers devices//切换终端sud
2021-03-18 15:26:05
124
原创 apt命令
sudo apt-get update 更新源sudo apt-get install package 安装包sudo apt-get remove package 删除包sudo apt-cache search package 搜索软件包sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等sudo apt-get install package --reinstall 重新安装包sudo apt-get -f install 修复安装sud
2021-03-16 16:58:12
248
原创 CMake使用小结
CMake使用小结指定本地库的位置set(Qt5_DIR "path")list(APPEND CMAKE_PREFIX_PATH ${Qt5_DIR})设置编译输出的路径set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/lib)set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/lib)set(CMAKE_RUNTIME_OUTPUT_DIRECTO
2021-02-01 09:40:27
910
2
原创 VTK管线信息对象
VTK管线信息对象vtkInformation信息对象主要可分为五类:管线信息对象vtkExecutive中包含管线信息对象,保存的是执行信息 。每个输出端口对应一个管线信息对象,由vtkExecutive::GetOutputInfomation()函数获取。他包含输出端口的数据(vtkDataObject)。vtkDataObject数据中也包含了其指针,通过vtkDataObject::GetPipelineInfomation()访问。对应的输入端口也有一个管线信息对象,通过vtkExecu
2021-02-01 09:37:34
497
原创 Qt实现应用程序单例
Qt实现应用单例#include <QApplication>class QLocalServer;class ServerLocal:public QApplication{ Q_OBJECTpublic: ServerLocal(int &argc, char **argv):QApplication(argc,argv){initLocalConnection();}; void initLocalConnection(); void n
2021-02-01 09:37:14
213
原创 Boost.program_options
Boost.program_options命令行参数配置namespace po = boost::program_options;po::options_description generic("Generic options");generic.add_options() ("version,v", "print version string")//--version -v ("help", "produce help message");//--help po::op
2021-02-01 09:35:26
150
原创 VTK自定义Filter类
VTK之自定义Filter类VTK中通过管线机制来实现组合各种算法处理数据。每个Filter可分为两个组成部分:一个是算法,继承vtkAlgorithm,主要负责处理输入的数据和信息;一个是执行对象,继承vtkExecutive,负责通知算法对象何时运行以及传递需要处理的数据和信息。 Filter类继承vtkAlgorithm及其子类,实例化时,其内部会生成一个默认的vtkExecutive对象,用于管理执行管线。 vtkInformation是实现VTK执行管线的一个非常重要的类。它是一个Map
2021-02-01 09:34:56
523
原创 VTK交互窗口
VTK交互窗口交互部件VTK的Widget类主要包括vtk3DWidget和vtkAbstractWidget两个父类,它们都派生自vtkInteractorObserver。其中vtk3DWidget主要在三维渲染场景中生成一个可以用于控制数据的可视化实体,比如点、曲线、平面、球体等;vtkAbstractWidget是所有窗体的基类。 vtkAbstractWidget作为基类,只定义一些公共的API以及实现了“交互/表达实体”分离的设计机制,其中,把从vtkRenderWindowIntera
2021-02-01 09:34:27
589
原创 OpenCV大津法二值化
OpenCV大津法二值化大津法(OTSU)是一种确定图像二值化分割阈值的算法,由日本学者大津于1979年提出。从大津法的原理上来讲,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化分割后,前景与背景图像的类间方差最大。是求图像全局阈值的最佳方法。优点:计算简单快速,不受图像亮度和对比度的影响。缺点:对图像噪声敏感;只能针对单一目标分割;当目标和背景大小比例悬殊、类间方差函数可能呈现双峰或者多峰,这个时候效果不好。#include <iostream>#include
2021-01-29 15:53:03
1309
原创 OpenCV二值化
OpenCV二值化cv::Mat Binarize(cv::Mat gray, int th){ int width = gray.cols; int height = gray.rows; cv::Mat out = cv::Mat::zeros(height,width,CV_8UC1); for(int y = 0;y<height;y++){ for(int x = 0;x<width;x++){ if(gray.at<uchar>(
2021-01-25 11:54:53
237
原创 OpenCV转换成灰度图像
OpenCV转换成灰度图像// BGR -> Graycv::Mat BGR2GRAY(cv::Mat img){ // get height and width int width = img.cols; int height = img.rows; cv::Mat out = cv::Mat::zeros(height,width,CV_8UC1); for(int y = 0; y< height ;y++){ for(int x = 0; x <
2021-01-25 11:40:34
925
原创 OpenCV通道交换
OpenCV通道交换// Channel swapcv::Mat channel_swap(cv::Mat img){ // get height and width int width = img.cols; int height = img.rows; // prepare output cv::Mat out = cv::Mat::zeros(height, width, CV_8UC3); // each y, x for (int y = 0; y < hei
2021-01-25 11:38:46
576
原创 Boost库编译
Boost库编译生成boost的自用的编译工具b2.exeb2.exe stage --toolset=msvc-14.0 --without-python --stagedir="c:/build" link=static runtime-link=shared runtime-link=static threading=multi address-model = 64 debug releasestage/install:stage表示只生成库(dll和lib),install还会生成包含头文
2021-01-23 20:55:00
859
原创 VTK系统概述
VTK系统概述渲染引擎VTK渲染引擎的类 主要负责接收管线的输出数据并将结果渲染到窗口中。vtkProp渲染场景中数据的可视表达,是一个虚基类。最常用的vtkProp子类是vtkActor和vtkVolume。vtkActor用于表示场景中的几何数据。vtkVolume表示场景中的体数据。vtkActor2D常用来表示二维空间中的数据。子类负责确定场景中对象的位置、大小和方向信息。vtkProp内部有一个Mapper对象,负责存放数据和渲染信息,一个Property对象,负责控制颜色、不透明度
2021-01-18 14:53:53
651
原创 C++调用Python
C++调用PythonC++调用Python主要使用到Python安装路径下的include、libs两个文件;include是头文件包含libs是静态链接库调用流程#include <Python.h>int main(){ Py_Initialize();//初始化Python环境 PyRun_SimpleString("import sys");//导入库 PyRun_SimpleString("sys.path.append('./')");//当前路径添加到Pytho
2021-01-15 15:25:24
509
原创 OpenCV.Mat
cv::Mat该数据结构是opencv中重要的数据结构,描述了加载或生成图片的信息。1、原点的位置位于图片的左上角2、按照行列索引排序,即img.at<cv::Vec3b>(1, 2)是第一行第二列的数据后续发现有其他特性,继续添加...
2021-01-12 10:17:54
135
原创 Qt小结
Qt小结最小化后恢复界面假死冻结void showEvent(QShowEvent *e){setAttribute(Qt::WA_Mapped);QWidget::showEvent(e);}设置支持高分辨率QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);使用QEventLoop同步获取返回结果而不阻塞界面QEventLoop loop;connect(reply, SIGNAL(finished()), &a
2021-01-07 21:23:17
1707
3
原创 OpenCV概述
OpenCV概述计算机视觉库。包含模块CoreOpenCV库的基础结构和基本操作Improc基本的图像转换;滤波、卷积操作Highgui轻量级的UI工具包Video读写视频流Calib3d校准单个、双目以及多个相机Feature2d检测、描述以及匹配特征点Objdectect检测特定目标;也可以训练检测器并用来检测其他物体Ml机器学习模块Flann快速最邻近库,贡其他模块使用GPU函数在CUDA上的优化实现Photo计算摄影学的函数工具Stitching图
2021-01-07 21:23:02
367
原创 Phong光照
冯氏光照计算方式环境光+漫反射光+镜面反射光vec3 objcolor;// ambientvec3 ambient = 0.05 * objcolor;// diffusevec3 lightDir = normalize(lightPos - FragPos);float diff = max(dot(lightDir, normal), 0.0);vec3 diffuse = diff * objcolor;// specularvec3 viewDir = normalize
2021-01-06 14:59:27
152
原创 Git常用命令
Git常用命令拉取git pull git pull <远程主机名> <远程分支名>:<本地分支名>推送git push 推送git push <远程主机名> <本地分支名>:<远程分支名>git push --set-upstream origin bug1001144创建分支git branch 分支名 -d 删除分支 -D 强制删除分支切换分支git checkout 分支名添加修改git ad
2021-01-06 14:18:06
73
原创 Qt中lupdate 和 lrealease 命令使用
lupdate 的命令行参数说明Usage:lupdate [options] [project-file]lupdate [options] [source-file|path|@lst-file] -ts ts-files|@lst-fileOptions:-no-obsolete删除所有无用的字符串。-extensions [,]处理具有给定扩展名的文件。扩展列表必须用逗号隔开。默认: ‘java,jui,ui,c,c++,cc,cpp,cxx,ch,h,h++,hh,hpp,h
2021-01-06 13:55:05
5910
原创 Boost.PropertyTree
Boost.PropertyTree概述1、它是一种容器,特点是层次结构,键值对保存,但不排序。2、可以解析XML、Json、INI配置文件。结构如下:struct ptree{ data_type data; // data associated with the node list< pair<key_type, ptree> > children; // ordered list of named chil
2021-01-06 12:03:37
359
原创 Boost.Asio
Boost.Asio(一)Boost.Asio是跨平台C++网络库。支持同步和异步IO操作,支持如TCP、UDP和ICMP的互联网协议。核心功能基础使用1、 程序至少有一个io_context,表示的是操作系统IO服务连接。boost::asio::io_context io_context;2、创建一个IO处理对象,如socket对象。boost::asio::ip::tcp::socket socket(io_context);3、 连接到对应的IO端口。socket.conn
2020-12-30 15:03:07
559
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人