自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 【SQLite】SQLite简介

SQLite是一个进程内的`轻量级` 的`开源` 的`嵌入式` 数据库,嵌入式。它的数据库就是一个文件,实现了自给自足、无服务器、零配置的、事务性的SQL数据库引擎。

2022-05-04 23:19:55 2298

原创 【C语言】常用公式函数使用

1.sqrt()函数:求给定值的平方根2.excp() 函数:e的次幂函数3.pow()函数:求x的y次方(次幂)4.abs()/fabs()函数:求整数/浮点数的绝对值5.ceil()函数:向上取整6.floor()函数:向下取整7.modf()函数:将浮点数分解为整数及小数两部分8.hypot()函数:求直角三角形的斜边长9. 角度、弧度互换公式

2022-04-30 22:05:17 7427 1

原创 【C++】VS2015 DLL 版本信息设置

📢博客主页:https://blog.csdn.net/weixin_42258743 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 Mr.Gong 于 CSDN原创首发,转载请注明出处!🙉 📢时间就像一张网,你撒在哪里,你的收获就在哪里……^-^ 目的:在vs2015生成的DLL 上 设置版本信息 ,使得最终生成的DLL带有想要显示的版本数据。Dll版本信息设置步骤如下:1.打开所建工程—>右击"Resource File"—>左击...

2022-04-08 18:37:02 3260

原创 【QT5】QListWidget列表框的使用

📢博客主页:https://blog.csdn.net/weixin_42258743 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 Mr.Gong 于 CSDN原创首发,转载请注明出处!🙉 📢时间就像一张网,你撒在哪里,你的收获就在哪里……^-^ 文章目录QListWidget列表框的创建QListWidget列表框的使用1. QListWidget列表框遍历使用,增加、删减列表项2. 判断当前列表中含有的列表项的总数,添加弹窗及item显示&n...

2022-04-07 23:45:20 2070

原创 【QT】QOverload 信号槽连接方式用法示例

1、普通信号 QObject::connect(信号发出者地址,信号发出者函数名称(信号发出者函数参数...),信号接收者地址,信号接收者槽函数名称(信号接收者槽函数参数...));注意:若在QObject子类内部定义信号槽,可直接调用connect函数。2、重载的信号2.1采用函数指针void (类型:* ptrOverloadSignalFunction)(信号重载函数参数...)=&类型:: 信号;QObject::connect(信号发出者地址,ptrOverloadS...

2022-03-31 23:54:18 5380

原创 错误: error: C2039: “shared_ptr”: 不是“std”的成员

vs2015编译工程出现错误 :error C2039: “shared_ptr”: 不是“std”的成员解决方案:包含头文件#include <memory>

2021-12-21 18:47:38 3435

原创 【QT5】QPixmap的使用

QPixmap主要用于绘图,针对图像显示而最佳化设计;QImage主要是为图像I/O、图像访问及像素修改而设计。但若用QPixmap加载大图片的时候,会占用很大内存,适合加载小图片;一个几十K的图片,加载进来后会放大很多倍。 若图片过大,可用QImage进行加载,然后转成QPixmap用户绘制,QPixmap绘制效果最好。1.使用QPixmap显示图片void Dialog::paintEvent(QPaintEvent *){ QPainter painter(thi...

2021-10-20 19:35:45 16686

原创 C++ String 的erase、remove和pop_back删除方法

一. erase 删除erase 方法原型1. basic_string & erase(size_type pos=0, size_type n=npos); 从给定起始位置pos处开始删除, 要删除字符的长度为n, 返回值修改后的string对象引用。通俗讲:erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符。#include<iostream>#include<string>using na..

2021-10-13 20:12:45 16630 4

原创 VS Release 模式下 源代码与原始版本不同 导致的断点失效问题解决方案

在vs release模式下进行断点调试时,修改了源文件内容,并继续调试,导致出现断点失效问题。移动鼠标至断点,出现“当前不会命中断点。源代码与原始版本不同”。解决方法如下所示:1. 使用vs清理解决方案,或者清理项目,然后将调试的相关工程重新编译一次;2.若方法1没能解决问题,那么尝试格式化代码,通过重新格式化出问题的源文件亦可以解决。在 vs中 全选文件->编辑->高级->设置选中内容格式->重新编译;3.结束vs,手动把bin目录删除掉,...

2021-10-13 19:54:07 1592

原创 【QT5】QTabWidget标签页设置及获取

QTableWidget可用于多标签显示,鼠标选中的标签为当前活动标签页。QTableWidget有个setCurrentIndex槽,可用于修改当前活动标签页。 在QT5的QTabWidget类中,在默认情况下是以0开始作为标签索引值,而currentIndex()函数返回的值是指:在多签显示页里当前界面所停留页面相对应的标签索引值。1)设置当前Tab页:QTabWidget tabwidget = new QTabWidget(this)QWidget *...

2021-09-10 11:31:51 11745

原创 【QT5】 QTreeWidget树形视图的展开、收缩操作

在使用树形控件实现项目分组功能时,默认情况下双击QTreeWidget的Item,如果该Item含有子Item那么Item就会被展开或收缩,而若是想要改变分组的展开及收缩状态,使用QTreeWidget的一个函数即可,void setItemsExpandable ( bool enable ), 该函数从QTreeView继承。设置是否允许用户展开和收缩Item。 设置的itemsExpandable,默认是true。设置为false即不允许用户收缩/...

2021-09-09 19:08:27 16916

原创 【QT5】解决 QT 界面中文显示乱码问题

QT中存在比较麻烦的中文乱码问题,解决方法如下:QT4解决方法:QTextCodec *codec = QTextCodec::codecForName("gbk");QTextCodec::setCodecForLocale(codec);QTextCodec::setCodecForCStrings(codec);QTextCodec::setCodecForTr(codec);QT5中已经不存在该函数QT5解决方法:1. 直接使用函数QStringLiteral("中.

2021-08-16 13:45:55 19896 10

原创 【Halcon&二维测量】——使用计量模型以亚像素精度测量圆和矩形

算法思路如下: 1.创建计量模型模板 2.根据先验知识生成相关图形形状,如矩形,圆,并将其加入到创建的模板中 3.设置模板的相关参数,包括图像大小,容忍度等 4.读入图像,并执行计量模型,测量并拟合计量模型中所有计量对象的几何形状 5.提取测量结果,测量的轮廓,定位区域,后补区域dev_update_off ()read_image (Image, 'pads')get_image_size (Image, ...

2021-08-04 17:01:12 1410

原创 【Halcon&二维测量】——2D计量模型

2D计量2D 计量的概念 通过二维计量,可以测量用特定几何体表示的物体的尺寸。可以测量的几何形状包括圆圈、椭圆、矩形和线条。我们需要测量对象的位置、方向和尺寸的近似值。然后,图像中对象的实际边缘位置位于近似对象的边界附近。通过这些边缘位置,对几何形状的参数进行优化,以更好地适应图像数据,并作为测量结果返回。 对象形状参数的近似值以及控制测量的某些参数存储在称为计量对象的数据结构中。图像中对象的边缘位于所谓的测量区域内。这些是垂直于计量对象边界排列的矩形区域。调整测...

2021-08-04 12:51:22 3156

原创 QT Creator warning:The code model could not parsee an included file,which might lead to incorrect...

在建立的QT creator 项目中,出现警告:the code model could not parsee an included file,which might lead to incorrect code completion and highlighting ,for example以及 ”unknow type name 'QApplication'“等错误,如下所示:解决方法:帮助->关于插件->C++ 去掉Clang Code Model勾...

2021-08-02 19:29:24 1106 1

原创 安装好的QT如何删除组件

1、在Qt的安装路径下找到MaintenanceTool.exe双击打开后,界面如下:2.点击“Next” ,进入下列界面;勾选“添加或移除组件”,点击下一步,点击“设置”:3.弹出下列界面,选择“储存库”选项卡,选择“临时储存库”,点击 “添加”;输入https://download.qt.io/online/qtsdkrepository/windows_x86/root/qt/,点击测试,成功后点击ok点击close:4.此时返回初始页面,点击“下...

2021-07-29 18:23:11 2990 5

原创 C++ 中三角函数:sin,cos,asin,acos等

  在C++中调用数学函数时,需包含头文件#Include<math.h>  C++中三角函数操作的是弧度,而不是角度。所以进行计算时需要将角度转化为弧度。  弧度=角度*Pi/180;常用函数:abs绝对值函数acos反余弦函数asin反正弦函数atan反正切函数exp e的x次方cos余弦函数sin正弦函数tan正切函数ceil求不小于x的最小整数 cosh求x的双曲余弦值fabs求浮点数x的绝对值fmod计算x/y的余数 frexp把浮点数x分解成尾数和指数

2021-07-27 16:32:33 17863

原创 c++11 :emplace_back

  在STL中,进行插入元素时,有insert和push两种选择方式,在“右值引用”和移动语义时,提出了更高效的插入方法:函数原型:template <class... Args>void emplace_back (Args&&... args);  在容器尾部添加一个元素,这个元素原地构造,不需要触发拷贝构造和转移构造。而且调用形式更加简洁,直接根据参数初始化临时对象的成员。源码push_back模板:void push_back(value_type&

2021-07-27 11:17:32 591

原创 C++ pair的用法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pair 类型的定义 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、Pair 类型概述pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的

2021-07-22 10:30:16 4423

原创 Visual Studio编译时出现“没有为此解决方案配置选中要生成的项目“

出现问题:在用vs2015编译项目,点击生成解决方案时,出现”没有为此解决方案配置选中要生成的项目”。如下所示:解决方案:右击项目”属性“——>配置管理器——>在生成处勾选”对号“再编译运行即可生成成功。...

2021-01-20 13:22:22 1188

原创 错误 LNK1112 模块计算机类型“x64”与目标计算机类型“X86”冲突 Insp C:\Users\Administra

开发环境:win10 64位 + VS2015 + halcon13使用vs2015+halcon13时遇到下列错误,如下所示:错误 LNK1112 模块计算机类型“x64”与目标计算机类型“X86”冲突 MSImage_AP03Insp C:\Users\Administrator\Desktop\维护项目\GS\AP03检测\AP03检测\导出及测试工程\MSImage_AP03Insp\MSImage_AP03Insp\MSImage_AP03Insp\MSImage_A...

2021-01-18 18:22:47 746

原创 vs2015 编译链接过程中出现的错误LNK2019 无法解析的外部符号

问题:错误 LNK2019 无法解析的外部符号 "public: bool __cdecl MF_GlueOverBreakDetect::createWhiteGlueModel(class std::vector<struct tagPOINT,class std::allocator<struct tagPOINT> >,class std::vector<struct tagPOINT,class std::allocator<struct tagP...

2021-01-08 15:23:55 1029

原创 QT+VS2015 :添加槽函数及连接信号与槽

1.添加槽函数 示例总共有三个动作(事件),其中有一个是按钮按下的动作(事件),还有两个分别是两个CheckBox勾选后的动作(事件),发生的这几个动作都需要执行相对应的任务。 所以先在头文件中添加这些事件函数,slots是槽的意思。on_"后面是控件的对象名(objectName)然后后面是“_clicked()”,在设计的时候可以遵循这种命名格式,如果遵循这个命名格式就不用写connect()函数了,就可以省掉.连接信号与槽的步骤。因为这种定义让系统能够自动...

2020-12-31 14:53:31 7088 10

转载 Qt下设置QLabel字体的大小和颜色

设置字体大小使用QFont 的setPontSizeQLabel *lb = new QLabel(tr("examp"));QFont ft;ft.setPointSize(14);lb->setFont(ft);设置颜色使用QPaletteQLabel *lb = new QLabel(tr("examp"));QPalette pa;pa.setColor(QPalette::WindowText,Qt::red);lb->setPalette(pa

2020-12-31 13:25:58 3595

转载 掩膜(mask)

掩膜(mask)1.掩膜(mask)的定义用选定的图像,图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。用于覆盖的特定图像或物体称为掩模或模板。光学图像处理中,掩模可以足胶片,滤光片等。掩模是由0和1组成的一个二进制图像。当在某一功能中应用掩模时,1值区域被处理,被屏蔽的0值区域不被包括在计算中。通过指定的数据值,数据范围,有限或无限值,感兴趣区和注释文件来定义图像掩模,也可以应用上述选项的任意组合作为输入来建立掩模。掩膜是一种图像滤镜的模板,实用掩膜经.

2020-10-26 16:37:00 21910

原创 halcon图像滤波:均值滤波&中值滤波&高斯滤波

图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。 图像滤波的主要目的:为了消除图像中混入的噪声,并且为图像识别抽取出图像特征。 滤波处理的要求:一是不能损坏图像的轮廓及边缘等重要信息;二是使图像清晰视觉效果好。Halcon算子与算法原理 平滑滤波器用于模糊处理和降低噪声。模糊处理经常用于预处理任务中,如在提取大型目标前去除图像中的一些琐碎细节,以及桥接直线或曲线的缝隙。...

2020-10-20 20:17:39 20258 1

原创 halcon中connection、union1与concat_obj间的区别

Connection是将区域分散开,只要是没有交集的区域,都分成不同的单独小区域,用不同颜色进行标记,一般在图像分割后使用。Union1恰恰相反,是就是把不同的Region联合起来,组成一个大的Region。是将分散的区域合并,是并集操作。Concat_obj是将两个Region或元组合并到第一个里面。...

2020-10-20 08:48:49 4410

原创 C++ Primer Plus 第6版 中文版

链接: https://pan.baidu.com/s/1_-m6jWNvKbmhZY_I3PGU1Q提取码: pk56

2020-10-12 20:17:38 1105

原创 【QT、C++】VS2015+QT编译时出现 无法打开源文件“QDomDocument”

VS2015+QT编译时出现 《 无法打开源文件“QDomDocument” 》 的错误解决方法11.右击工程,选择【QT】,然后接着点击【Qt Project Settings】;2.如上选择后弹出的弹窗如下所示,选择【Qt Modules】;3.勾选【XML】;4.重新运行程序,运行成功。解决方法21.右击项目选择【属性】,打开项目属性页如下图所示,在【C/C++】 的【常规】子选项中,打开附加包含目录,添加新行,输入$(QTDIR)\include\QtXml2.在属性页中

2020-10-10 10:32:50 8015 5

原创 QT界面怎么让控件跟随窗口大小变化

环境:QT5如果改变了窗口的大小,应该怎么做才能让窗口内部的控件可以随着窗口大小的改变,自身大小也能随之改变呢?让控件跟随窗口大小变换的方式1.首先往窗口界面中拖入一个控件(任何控件都可以:Layout 、Button或Check Box);2.然后在窗口界面空白处右击右键→布局→栅格布局(G)(或者水平布局(H)、垂直布局(V)任选其一)3.布局后界面如下。注:一定要先拖入控件才能对本窗体进行布局。4.测试结果如下:...

2020-09-29 14:43:23 36236 10

原创 C++中的线程、多线程

C++ 多线程多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。基于进程的多任务处理是程序的并发执行。基于线程的多任务处理是同一程序的片段的并发执行。多线程程序包含可以同时运行的两个或多个部分。这样的程序中的每个部分称为一个线程,每个线程定义了一个单独的执行路径。.进程和线程的区别?线程分为用户级线程和内核支持线程两类,用户级线程不依赖于内核,该类线程的创建、撤销和切换都不利用系统调用来实现;内核支持线程依赖于内

2020-09-27 20:26:32 932

原创 C++宏定义中“#”与“##”的区别

宏定义在C/C++中使用的非常多,一方面定义一些常量,另一方面定义一些通用函数,但是有些宏定义实现较为复杂,尤其是很多带#或##的宏定义,令很多人读起来很不解,下面就简单介绍一下宏定义中的#和##。1.宏定义里面有个##表示把字符串联在一起。如:#include <stdio.h>#define CAT(x,y) x##yint main(){ char helloworld[] = "hi, hello world!"; printf("%s", CAT(hello,

2020-09-25 08:28:08 349

原创 C++ 数组 array 和vector间的联系和区别

一.C++ 数组 array 和vector间的联系和区别相同点:1.都和数组类似,都可以使用标准数组的表示方法来访问每个元素;array和vector都针对下标运算符[]进行了重载2.三者的存储都是使用的连续内存,都可以进行随机访问;在array和vector的底层存储结构均使用数组。不同点:1.array和数组属于定长容量,定义后的空间是固定的,不能进行改变;但是vector属于变长容器,提供了可以动态插入和删除元素的机制,可以根据数据的 插入删除重新构建容器容量

2020-09-23 19:54:59 4798

原创 【Halcon】图像Image、区域Region、轮廓XLD间的保存与相互转换

1、直接保存write_image( image , ‘bmp’ , 0 , ‘D:/image/1’ )2、窗口保存 //带文字,region保存dump_window_image( image , 20000) //图像名,窗口句柄write_image( image , ‘bmp’ , 0 , ‘D:/image/1’ )3、裁剪后保存,改变尺寸crop_domain (ImageReduced, ImagePart)write_image (ImagePart, ‘bmp’, 0

2020-09-15 20:30:35 9974 3

原创 【Halcon】区域宽度提取

碰到中空图形区域可以参考下述算法提取区域宽度 *区域宽度提取部分代* dev_set_draw('margin') gen_contour_region_xld (Region, Out_Contours, 'border') fill_up (Region_glue, RegionFillUp) difference(RegionFillUp, Region_, Region_inside) gen_contour_region_xld (Region_ins

2020-09-15 20:26:15 8618

原创 Halcon region区域提取及区域转图像

在VS中调用Halcon中的分割之类函数后,直接返回显示时会报错,因为是把返回值当成L了Image变量直接赋值给了图像数据buffer,返回的是被分割后的Regions,因此从Regions中获取get_image_pointer1或get_image_pointer3时就会报错,提示函数没有灰度值。因此需要将Regions连接起来生成一个大的区域,然后将区域进行相关操作转化成Image,Halcon中有三个区域转图像算子:region_to_bin、region_to_label、region_to_m

2020-09-12 15:20:41 18133 1

原创 C++ inline用法详解

在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。 inline int min(int first, int secend) {/****/};1.1inline定义inline是C++关键字,在函数声明或定义中,函数返回类型前加上关键字inline,即可以把函数指定为内联函数。这样可以解决一些频繁调用的函数大量消耗栈空间(栈内存)的问题。关键字inline必须与函数定义放在一起才能使函数成为内联函数,仅仅将inline放在函数声明前面不起任何作用。inline是一种

2020-09-11 16:23:26 17957 4

原创 如何解决在vs2015中在汉字下面出现红线的问题

在vs2015中安装了Visul assist X 插件之后,在vs代码中注释语句出现中文时,下方会出现红线。若是英文注释,则正常。1)在vs菜单栏中选择“VAssistX",如下图所示:2)选择最后一项”Visual Assist Options",如下图所示:3)在弹出的弹窗内选中“Underling”选项,可以发现下图中用红色框内的选项是默认打✔的,其功能是对输入的语句进行语法检查,因为软件默认支持的语言是英文,所以在vs代码中如果出现中文注释,则番茄助手就会认为它不符合英文语法规范,所以

2020-09-10 13:23:04 1476

原创 【QT、C++】在运行QT+VS项目时出现:错误 LNK1104 无法打开文件“qtmaind.lib”

运行QT+vs2015的项目,出现下列错误:vs2015+QT5.12.0出现该问题,可以按照下面的方法解决:1)找到qtmain.lib所在的绝对路径:2)修改VS项目属性:右击项目属性,打开属性页,选择链接器的输入选项,点开附加依赖项,在qmaind.lib修改为绝对路径:D:\Software\Profession\QT5.12.0\5.12.0\msvc2015_64\lib\qtmaind.lib3)把下面的几个Qt.lib前也加上 绝对路径,不然也会出错:4)保存,关掉VS,重

2020-08-30 13:46:17 9279

原创 VS2015在针对一个或多个项目加载失败的解决方法

在用vs打开从其他电脑拷贝来的项目时,出现加载失败,无法成功加载;解决方案1:右击项目,选择编辑XXX.vcxproj,用记事本打开,然后删掉里面源工程配置的.props属性表解决方案2:在原电脑里打开项目,删掉属性表之后,再将项目程序拷贝到新的电脑里,然后自己重新配置添加属性表:选用了第二种方式成功解决。...

2020-08-30 12:25:35 4518 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除