- 博客(76)
- 资源 (2)
- 收藏
- 关注
原创 C++ 文件系统类 filesystem
如果需要对文件进行相关操作,文件系统类是很好的选择。文件系统类功能强大,常见的功能包括:判断文件或路径是否存在 (exist)文件大小 (file_size)复制文件 (copy_file)删除文件 (remove)重命名 (rename)创建目录(create_directory),多级目录(create_directorys)是否是目录 (is_directory)删除目录 (remove_directory) ,递归删除目录(remove_all)遍历目录 (directory_i
2020-08-09 16:27:49
4034
原创 Qt-解决Qt与MySQL连接过程中出现“QSqlDatabase: QMYSQL driver not loaded”问题
试过很多个解决方法,最后下面这两个方法成功了!参考资料qt连接mysql报错:QSqlDatabase: QMYSQL driver not loadedQt与MySQL连接过程中出现“QSqlDatabase: QMYSQL driver not loaded”问题
2020-06-03 11:39:04
501
原创 HOG+SVM的物体检测
想做物体检测,可以试试HOG!例如我们在下面的图片中检测这位美女。HOG全名 Histogram of Oriented Gradients,也就是方向梯度的直方图,它主要利用梯度的直方图构建特征向量。最经典的是用作行人检测,也可以用作其他物体检测。方向梯度(oriented Gradients)一维梯度可以认为是一阶导数:dydx=y‘\frac{\mathrm{d} y }{\mat...
2020-04-18 23:44:19
1889
原创 ImageWatch详细教程
在使用OpenCV的过程中,经常在visual studio中使用image watch查看图像。其实Image watch的功能非常强大,非常方便我们对图像进行处理。例如我们有一块内存保存的是图像数据,之后我们知道地址,也可以将其显示出来。例如:#include "ippi.h"#include "ippcv.h"int main(){ IppiSize size = {320,32...
2020-04-07 00:50:57
13770
4
原创 window caffe 安装及相关问题解决
本人的配置win10VS2013CUDA10.1cudnn7.6python2.7.15(Anaconda2)虽然caffe的安装比较复杂,有人戏称安装caffe要10元一次,调试一层网络只有5块。但是网上安装caffe的教程,随便一搜索就是一大把,安装过程基本都一样没什么可说的。这里主要记录安装过程遇到的问题。安装caffe参考博客官方Caffe-windows 配置与示例运...
2020-03-21 22:02:28
236
原创 91-最小调整代价
描述给一个整数数组,调整每个数的大小,使得相邻的两个数的差不大于一个给定的整数target,调整每个数的代价为调整前后的差的绝对值,求调整代价之和最小是多少。注意事项你可以假设数组中每个整数都是正整数,且小于等于100。样例对于数组[1, 4, 2, 3]和target=1,最小的调整方案是调整为[2, 3, 2, 3],调整代价之和是2。返回2。标签动态规划 背包问...
2019-12-28 15:40:56
363
转载 HOG:从理论到OpenCV实践
OpenCV HOGDescriptor 参数图解一、理论1、HOG特征描述子的定义: locally normalised histogram of gradient orientation in dense overlapping grids,即局部归一化的梯度方向直方图,是一种对图像局部重叠区域的密集型描述符, 它通过计算局部区域的梯度方向直方图来构...
2019-12-13 11:17:03
428
原创 std::string与QString 相互转换
在编写qt程序中有时需要std::string与QString 相互转换,转换过程中经常会造成乱码。QString 转 std::string#define FromQString(x) QTextCodec::codecForLocale()->fromUnicode(x).toStdString()std::string 转 QString#define FromQStr...
2019-12-09 19:53:27
3157
原创 修改VS生成文件的目录,以及使用生成文件
当同一个解决方案有多个项目协同开发的时候,我们希望将文件(例如.h头文件, .lib静态库, .dl动态库l)输出到一个特定的目录,然后在工程都指向这个输出目录,便于使用。1. 修改输出文件目录例如将文件输出到解决方案目录下的build\bin\x64\Debug将中间文件输出到解决方案目录下的build\inter\projectName\Debug输出目录为:$(SolutionDi...
2019-12-06 21:57:33
5520
转载 PT和PX的区别
字体大小的设置单位,常用的有2种:px、pt。这两个有什么区别呢?先搞清基本概念:px就是表示pixel,像素,是屏幕上显示数据的最基本的点;pt就是point,是印刷行业常用单位,等于1/72英寸。这样很明白,px是一个点,它不是自然界的长度单位,谁能说出一个“点”有多长多大么?可以画的很小,也可以很大。如果点很小,那画面就清晰,我们称它为“分辨率高”,反之,就是“分辨率低”。所以,“点”...
2019-12-03 15:38:32
4263
原创 在VS中实现QT的多国语言翻译
QT的多国语法翻译非常的实用,可以将开发完成的软件,直接翻译成另外一种语言,而不需要更改代码,也就是说一次开发可以同时发布多个语言版本的软件。翻译过程创建翻译文件:从代码中自动提取出能翻译的文本,生成中间ts文件。翻译元素:编辑ts文件,手动翻译每一项。发布(lrelease)翻译好的ts文件,生成qm文件。使用qm文件,翻译相应的文本。注意:能被翻译得文本需要使用特殊标记...
2019-12-01 11:46:51
1699
原创 C++拷贝构造、移动拷贝构造、左值、右值
我们知道C++ 编写程序的一个特点就是需要程序员管理内存,也就是需要的时候new一个对象,在合适的时候释放申请的内存。如果没有释放掉申请的内存会造成内存泄漏,多次释放内存也会造成程序异常。所以对于指针的操作需要特别小心。C++编写类时,如果类中包含指针成员,就需要特别小心拷贝构造函数的编写,因为很容易造成内存泄漏。例如以下情况:浅拷贝造成内存泄漏的例子#include <iost...
2019-11-23 22:23:33
4226
1
原创 Qt 中的TCP协议通信
TCP协议是经常使用的通信方式。在QT中做了非常友好的封装,使用非常方便。需要添加的模块:networkQt中的TCP类:QTcpSocket , QTcpServer常用函数介绍连接目标地址和端口virtual void QTcpSocket ::connectToHost(const QHostAddress &address, quint16 port, OpenMode ...
2019-11-16 21:18:14
637
原创 Qt中的UDP通信
相比于TCP协议,UDP有它的优势和应用场景。常用于语音和视频通信。而且除了端对端的通信以外,还支持广播和多播。常用函数介绍发送数据包到目标地址的端口号qint64 QUdpSocket::writeDatagram(const QByteArray &datagram, const QHostAddress &host, quint16 port)绑定接收消息的I...
2019-11-16 20:31:06
647
转载 C++11 中的std::function和std::bind
1. 可调用对象可调用对象有一下几种定义:是一个函数指针,参考 C++ 函数指针和函数类型;是一个具有operator()成员函数的类的对象;可被转换成函数指针的类对象;一个类成员函数指针;C++中可调用对象的虽然都有一个比较统一的操作形式,但是定义方法五花八门,这样就导致使用统一的方式保存可调用对象或者传递可调用对象时,会十分繁琐。C++11中提供了std::function和s...
2019-11-15 21:14:18
437
原创 c++文件压缩库bundle使用介绍
bundle 的github仓库bundle是一个可嵌入的压缩库,支持23种算法和2种存档格式。两种存档格式:1 将所有文件加入压缩类,然后一起压缩。即 .zip2 将每一个文件压缩后再加入压缩类,然后打包在一起。即 .bun特性 存档支持:.bun , .zip。即两种压缩保存方式 流支持:DEFLATE, LZMA, LZIP, ZPAQ, LZ4, ZSTD, BROT...
2019-11-15 11:53:01
3257
1
原创 Qt 定时器
到时间通知 QTimer::singleShot例如,到时间执行slotTimeout槽函数。QTimer::singleShot(1000, this, SLOT(slotTimeout()));每隔一段时间通知设置间隔时间,每隔一段时间就会发送timeout信号,一直循环;例如 _timer = new QTimer(this); //_timer->setIn...
2019-11-13 19:45:12
420
原创 Qt 中View ,Scene的简单实用案例
view ,scene简介要显示文字,图形,图形等项目,可以先把这些显示项目的描述数据,添加到Scene,然后View设置Scene,即可实现显示的项目。Scene是一个显示场景,一个场景中可以显示多个显示项目。View可以看做一个窗口,在窗口设置一个场景,即可将Scene显示出来。案例介绍1、显示一条线,文字,图片。2、保存或打印窗口。设置view 和 scene _sc...
2019-11-13 17:38:23
4912
原创 Qt自定义控件:实现一个按钮
在Qt的框架下,实现一个button的效果。鼠标按下button变色,鼠标释放button还原。头文件#ifndef MyButton_h__#define MyButton_h__#include <QtWidgets/QWidget>class MyButton :public QWidget{ Q_OBJECTpublic: explicit MyButt...
2019-11-11 22:42:24
1655
原创 Qt实现画笔功能
用Qt实现在窗口上画线,类似于画笔功能。头文件#ifndef MyPaint_h__#define MyPaint_h__#include <QtWidgets/QWidget>class MyPaint :public QWidget{ Q_OBJECTpublic: MyPaint(QWidget *parent = nullptr); void mo...
2019-11-10 17:42:23
2393
原创 Qt 信号与槽简述
信号定义必须在signal:保留字下,并且不需要实现。槽的定义必须在slots:保留字下,需要实现信号和槽通过QObject::connnect函数连接当信号被触发时,槽被调用。注意事项1)实现信号和槽的类必须是QObject的子类,因为信号和槽是QT的拓展2)实现和槽的类,必须以宏Q_OBJECT开始3)连接信号和槽,要用到SIGNAL和SLOT宏,转换函数为字符串4)一个信...
2019-11-09 16:14:07
209
原创 Qt 模型-视图-控制器
项视图类可视化方法:模型-视图-控制器(model-view-control,MVC)。模型代表数据集,它对数据的获取以及存储的改变负责。每种类型的数据集都有自己的模型,不管底层的数据集是什么样子,模型model提供给视图view的API接口都是相同的。视图代表面向用户的数据。任何大数据集中只有部分是可见的,这部分就是视图请求的那部分数据。控制器是用户和视图之间的媒介,把用户的操作转换为查...
2019-11-07 21:39:57
401
转载 Intel Thread Building Blocks (TBB) 入门篇
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-10-29 21:40:18
2412
原创 设计模式之抽象工厂
抽象工厂模式(abstract factory):提供创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。C++ 实现现在有产品,和具体的产品A和B,他们都有选中,不选中,编辑,展示属性等操作。//定义虚基类class Product {public: Product() {} /*constructor*/ virtual ~Product...
2019-10-28 22:26:33
113
原创 设计模式之单例模式
单例模式(SingleTon):保证一个类只有一个实例,并提供一个访问它的全局访问点。由类自身负责保存它的唯一实例,并且保证没有其他实例可以被创建,而不是外部判断。C++ 实现class SingleTon {private: SingleTon() { std::cout << "constructor called!" << std::endl;...
2019-10-28 22:12:56
143
原创 让VS自动找到运行所需的文件
在使用VS调试程序过程中,经常需要用到一些动态库。简单的复制拷贝效率太低,而且占用内存空间,不是一种优雅的方式。通过制定动态库的目录可以优雅的解决这些问题,提高程序开发效率。其中主要涉及修改工作目录,和环境。默认调试属性如下修改工作目录默认工作目录是工程所在的目录。所以如果不愿意修改工程属性,可以将编译和运行所需的文件直接拷贝至项目工程目录。我们运行相关的动态库放在一个目录,例如"...
2019-10-24 15:50:16
326
转载 Markdown 绘制 UML 图 -- PlantUML + Gravizo
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-10-16 22:26:39
1844
原创 NPP库使用入门
图像处理的过程中经常会使用到Intel的ipp库(Integrated Performance Primitives),IPP库包含了许多底层优化的函数。如果已经安装了IPP库,opencv在运行时也会自动调用。近年来,随着计算机视觉的快速发展,使用GPU进行图像处理越来越流行和展现出优势。NVIDIA公司针对GPU开发了的计算函数库NPP(NVIDIA Performance Primitiv...
2019-09-30 23:20:29
9200
1
原创 CUDA
概述GPU硬件的核心组件是SM(streaming multiprocess),即流式多处理器。SM的核心组件包括cuda核心,共享内存,寄存器。SM可以并发的执行数百个线程,并发能力取决于SM所拥有的资源数。一个线程块只能在一个SM上被调度,SM可以调度多个线程块。SM采用SIMT(single instruction,multiple thread)单指令多线程架构。基本执行单元是线...
2019-09-21 22:22:17
460
转载 关于__declspec(dllexport) 和__declspec(dllimport)的理解
2007-09-18 15:14我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllex...
2019-09-21 22:01:06
874
转载 关于VS下制作和使用静态库和动态库
原文地址 引言什么是库:库是写好的现有的,成熟的,可以复用的代码。所谓静态、动态是指链接。将一个程序编译成可执行程序的步骤:静态库在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执...
2019-09-21 21:53:22
263
原创 CUDA10.1安装 +VS2015开发环境搭建
基本信息operator system: win10系统中已经安装了CUDA8,可以同时安装两个版本。再安装CUDA10和仅安装CUDA10一样。再使用的时候选择CUDA10即可。官网下载软件官网下载地址tips:最好选择离线安装版本,安装时间较长,避免网速的干扰。安装软件一般选择精简安装即可。默认选择是覆盖原有的显卡驱动。如果选择不覆盖原有的显卡驱动,就必须得确保原有的显卡驱动...
2019-09-21 16:59:03
9950
6
原创 opencv求解两条直线的交点
假设现在有一个点集,需要拟合出最能够表达点集轮廓的几条直线,并求直线之间的交点。从点集中拟合直线可以采用的方法:随机抽样一致性(RANSAC),霍夫变换(though transform)c++ 程序代码 /** @brief 计算直线的交点 @param lines 直线:Vec4d=(vx, vy, x0, y0), where (vx, vy) is a normalized vec...
2018-12-09 11:46:16
4432
1
转载 HTML
规定文本的字体、字体尺寸、字体颜色。&lt;font size="3" color="red"&gt;This is some text!&lt;/font&gt;&lt;font size="2" color="blue"&gt;This is some tex
2018-12-08 16:11:39
141
转载 结构化数据存储格式:protobuf
## 参考文献Google Protocol Buffer 的使用和原理Protobuf 的 proto3 与 proto2 的区别protobuf3语言指南
2018-12-08 16:06:17
705
原创 SIMD学习博客
在C/C++代码中使用SSE等指令集的指令(3)SSE指令集基础 SSE入门C/C++ demo SSE4.1和SSE4.2 Intrinsics各函数介绍 C/C++ 调用avx/sse函数(Intrinsics函数)
2018-08-28 14:57:48
1264
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人