自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 python_多进程处理数据

在深度学习处理数据过程中,多进程可提高数据的处理效率。

2024-09-05 17:18:52 267

原创 Qt_QString和HTuple之间的转换

【代码】Qt_QString和HTuple之间的转换。

2024-09-03 15:58:04 148

原创 Qt6_软件安装

若后续需要添加或者删除某些组件,可通过MaintenanceTool.exe来改变,调用国内的镜像源安装会快一些。下载winsdksetup.exe的安装包,选择“DebUGGing Tools For Windows”修改Qt Creator的快捷键,默认的快捷键中,转到定义是F2。安装visual studio 2022,支持msvc工具链。Qt Creator默认是没有调试器的,需要用户额外安装。将上述两项改为F12,可使得和vs中的快捷键同步。配置好该debugger之后,即可开始调试代码。

2024-09-03 14:31:13 540

原创 python_timm手动下载模型

使用timm模块中,create_model初始化模型,会从外网下载该权重,通常会遇到下载失败的错误。

2024-05-09 17:56:39 649

原创 c#_一些代码片段

【代码】c#_一些代码片段。

2024-01-17 09:00:09 472

原创 halcon和c#之间的数据转换

【代码】halcon和c#之间的数据转换。

2023-09-20 16:37:44 648

原创 c#_调用c++的动态库并封装成为c#的库文件

该代码中,先import了c++的动态库,然后声明了已有的函数接口,接着在该c#的AddAlgorithmCls的类中,基于c++中已有的函数接口,声明了c#的新的函数接口。在windows上的开发, 一般软件都是用的c#,对于算法生成的c++的动态库dll,在给到软件之前,最好自己在c#中写一个测试程序,验证一下该c++的动态库dll的有效性,同时可再将该算法封装成为c#的接口,可直接给到软件调用。即可生成AddAlgorithmCsharp.dll的c#的函数接口。

2023-09-18 21:21:43 668

原创 c++_创建动态库dll并调用

这是一个简单的程序,会生成一个exe,通过该步骤将代码跑通,然后点击该工程,右键->属性->配置属性->常规->配置类型->动态库库(.dll),接着清理,重新生成,默认会在解决方案的根目录/x64/Debug下生成AddAlgorithm.dll和AddAlgorithm.lib。在该解决方案中,再新建一个名称为AddDemo的空项目的工程,新建main.cpp,复制上面main.cpp里面的内容。以下会用c++创建一个加减乘除的动态库dll,并在另一个工程中,用main函数来调用该动态库。

2023-09-18 20:55:43 609

原创 halcon_基本语法

【代码】halcon_基本语法。

2023-09-17 15:14:01 805

原创 halcon_tuple的操作

变量长度:如果长度为1,则可以作为正常变量使用,第一个索引值为0,最大的索引值为变量长度减1。赋值符号:一个冒号加一个等号 “ := ”。Halcon中的数组,也就是tuple,与C语言类似。变量类型:int,double,string等类型。

2023-09-17 14:47:50 4769

原创 halcon_一些代码片段

【代码】halcon_一些代码片段。

2023-09-17 14:40:19 94

原创 opencv_特征匹配与图像拼接

其中得到了重叠的mask,进行图像融合的过程中,有两个函数,第一个是merge_image_by_mask1,该函数先计算两张图片对应的mask的权重,方便进行可视化,第二个是merge_image_by_mask2是根据重叠的lap_mask,取两张图片对应坐标的像素,直接计算融合之后的像素值。opencv中,常用的特征点检测算法有:SURF算法,SIFT算法,ORB算法,FAST算法。

2023-09-16 18:08:23 174

原创 opencv_contrib的编译与运行(windows)

在用到opencv中的特征点检测与图像匹配的时候,发现基础的opencv库中没有这个功能,需要下载opencv_contrib的库并进行编译。

2023-09-08 15:36:17 242

原创 windows上点云库PCL-1.13.0+VS2019的配置

配置好PCL的环境之后,新建一个main.cpp,测试是否能生成,显示,并保存点云。该代码定义了一个正方体的8个顶点的坐标,然后生成了该点云,可视化的效果如下所示。在PCL 1.13.0的安装路径中,找到OpenNI2的安装包,并开始安装。windows系统上,VS2019+PCL-1.13.0。将其中的pdb文件复制到PCL安装目录的bin目录下。在环境变量的Path中,添加以上8个路径。安装完后,环境变量会自动生成以下的变量。

2023-08-16 19:58:33 493

原创 opencv_访问cv::Mat的中的元素

主要采用两种方式来访问Mat中的元素,第一种是基于img.at(i, j)的方式,访问Mat中的元素,第二种是将img.data赋值给uchar* data的指针,用指针去遍历每个像素值。在使用imshow显示图片的时候,调试窗口会显示一堆log,可加上以下代码,去掉该日志。遍历该图片,使该图片眼睛附近的像素,变为白色。

2023-08-13 23:32:13 252

原创 c++_结构体struct的使用

在该例子中,config是struct ConfigModel声明的一个结构体变量,CONFIG是struct ConfigModel2的同义字,可以使用CONFIG来定义变量。在C语言编程中是不允许在定义结构体变量时省略struct关键字,当然C++中用不用的结果都是一样的,所以有时候为了平台的兼容性以及代码更好的可读性,使用typedef关键字。struct 在c中是结构体体,在c++ 中升级为class 了,他拥有类的全部特征。,结构体类型名就相当于"

2023-08-11 09:41:58 136

原创 halcon转c++代码在VS2019中调用

注意opencv的cv::mat和halcon的HObject的转换,以及c++中的int, double, string和halcon中的HTuple的类型的转换。将halcon写好的代码,转成c++代码,配置好visual studio环境后,在vs2019中编译运行。将该cpp中的函数声明,以及函数实现,复制到vs2019的工程的代码中,然后配置好环境,即可完成调用。在halcon的当前页面中,打开该函数,点击选项卡中的"文件"--”导出程序"计算中间区域的长度和宽度。在halcon中写一个函数,

2023-08-09 20:02:20 1641

原创 git常用命令

当前分支与远程分支并未建立联系,需要执行一下 git branch --set-upstream-to=origin/ 操作。git pull 提示 git branch --set-upstream-to=origin xxx。该命令让当前分支和远程分支建立联系之后,就可以进行git pull,git push的操作了。在使用https git拉取代码时,每次git pull的时候都会让输入用户名和密码。

2023-08-03 20:34:18 156

原创 c++_string中的中文字符

上述代码,可以发现,中文字符占有两个char,每个char字符的8位二进制的首位都为1。范围是在0到127,二进制为(0000 0000 ~ 0111 1111)2、中文的 ASCII 码,其最高位为 1,占两个字节。1、英文的 ASCII 码,其最高位为 0,占一个字节。

2023-08-03 11:28:48 1515

原创 c++_获取程序运行的目录

【代码】c++_获取程序运行的目录。

2023-08-03 10:53:21 2059

原创 c++_string和wstring的相互转换

string是常用类型,可以看作char[]。而wstring,使用的是wchar_t类型,这是宽字符,用于满足非ASCII字符的要求,例如Unicode编码,中文,日文,韩文什么的。wstring是宽字符,占用2个字节的大小,针对UNICODE编码格式,用于对中文汉字的定义和赋值。也就是说,宽字符,每表示一个字符其实是占了16bit,即2个char的大小。1、wstring:wstring是宽字符,占用2个字节的大小,即16bit。2、string:string是窄字符,占用1个字节的大小,即8bit。

2023-08-02 23:51:12 5306 2

原创 c++_日志库easylogging++

在算法和软件的对接过程中,需要添加日志,记录算法的运行信息,在遇到崩溃的错误时候,方便定位问题。easylogging++是一款非常轻量级的日志库,使用起来,只需要添加一个头文件,无需任何第三方库,支持文件配置,以及自定义日志格式。必须使用且只能使用一次,否则就会产生编译错误,该初始化宏最好的位置,位于程序入口函数所在文件的顶部,紧跟在包含头文件的代码后面。会在该程序的运行目录下,新建log的文件夹,里面有刚记录的log文件。即可在程序运行的目录下,生成名为myeasylog.log的文件,

2023-07-29 14:52:51 398

原创 VOC数据集说明

在语义分割的标签文件,存放在SegmentationClass文件夹下,每张jpg的图片会对应一张单通道的png的mask图片。结果图如上所示,可以看到目标的边缘全部是白色,也就是png图片中255的标签,所对应的区域,在训练的过程中,该区域会被屏蔽掉。其中包含255的类别,读入一张图片,将png中不同的label填充成不同的颜色,进行可视化。包括背景,一共有21个类别,

2023-07-28 18:48:30 91

原创 c++_ifstream,ofstream读写文件

ofstream是从内存到硬盘,ifstream是从硬盘到内存。在c++中,有一个stream这个类,所有的I/O的操作都是以这个类为基础的。stream这个类有两个重要的运算符:1.插入器<<向流输出数据,例如就是把字符串输出到标准输出流。2.析取器>>从流中输入数据,例如cin >> x;表示从标准输入流中读取一个指定类型的数据。

2023-07-28 18:00:37 2068

原创 c++_生成随机数

用time的函数获取种子,time(0)函数返回当前格林尼治标准时间与格林尼治标准时间1970年0分0秒的时间间隔。头文件<ctime>。该函数需要一个起始种子,若没有指定该种子,则每次运行时会产生相同的数字流。用rand()的函数,生成随机数,头文件<cstdlib>time(0) 和 time(NULL)的功能相同。

2023-07-27 21:17:06 732

原创 c++_编译过程中的一些报错

该代码在编译过程中会报错,将pb->rect.width()改为pb->rect.width,pb->rect.height()改为pb->rect.height。明显调用的表达式前的括号必须具有(指针)函数类型。

2023-07-19 22:03:46 158

原创 yolov8训练记录

github项目链接:GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite

2023-07-19 10:30:17 759

原创 ubuntu相关的一些问题

在更改文件之前,先备份一下,

2023-07-18 10:28:31 44

原创 pytorch-部分代码

只加载预训练模型的部分参数。

2023-07-10 20:48:19 70

原创 vscode远程免密连接服务器

在linux的用户目录下,进入.ssh的文件夹内,若没有.ssh的文件夹,则新建一个,在.ssh的文件夹下新建一个authorized_keys的文件,将id_rsa.pub中的内容拷贝到authorized_keys中,并修改权限,我是直接用notepad++打开id_rsa.pub的文件,然后全选,复制,粘贴到authorized_keys的文件中的。即可不用输密码,连接到远程服务器。我不确定这两点,是否有影响,反正最后,试了很多次,终于调通了,每次远程连接,不用输入密码了。

2023-07-08 21:42:33 2572 1

原创 c++_读取yaml的配置文件

在Configure之后,需要勾选YAML_BUILD_SHARED_LIBS,然后Generate生成vs2019的解决方案,用vs2019打开该工程,可编译出Debug,Release的dll文件。方式二:使用opencv中的FileStorage,FileNode读取yaml中的参数。使用缩进表示层级关系,缩进时不允许使用Tab键,只允许使用空格。缩进两个空格或者三个空格都可以,但是相同层级的元素必须左对齐,用c++的语言,有两种方法读取yaml的配置文件。使用yaml的文件配置参数,

2023-07-05 19:09:07 924

原创 visual studio 2019的一些配置

链接器->输入->附加依赖项 添加lib库的名称 $(SolutionDir)x64\Debug\xmaoi_det.lib。C/C++->常规->附加包含目录 $(SolutionDir)xmaoi_det。链接器->常规->附加库目录 $(SolutionDir)x64\Debug。C/C++->常规->附加包含目录 $(SolutionDir)xmaoi_det。配置属性->C/C++->常规->附加包含目录。

2023-07-05 18:43:02 2146

原创 c++_string的常用方法

/ 从字符串的 pos 位置开始(若不指定 pos 的值,则默认从索引 0 处开始),查找子字符串 str。使用 += 来在一个 string 对象后面附加一个 string 对象、字符以及 C 风格的字符串。string.append() 函数,在string对象后添加一个string对象或c风格字符串。:将一个 string 对象初始化为 string 对象 str(复制构造函数):创建一个默认的 string 对象,长度为 0(默认构造函数):将 string 对象初始化为 s 指向的字符串。

2023-07-04 20:35:43 60

原创 一些函数模块

射线法,将点向右延长,统计与多边形中,每条边的交点数量,若为奇数,则点在多边形内部,若为偶数,则在多边形的外部或边缘上。1.判断点是否在多边形内部。

2023-07-04 19:33:12 38

原创 opencv_cv::Mat的属性

cv::Mat的构造函数。

2023-06-30 09:47:10 290

原创 Deep Learning_交叉熵损失函数

PyTorch提供了两个类来计算二分类交叉熵(Binary Cross Entropy),分别是BCELoss() 和BCEWithLogitsLoss()pytorch中提供的计算多分类的交叉熵损失函数为nn.CrossEntropyLoss()该损失函数应用在多标签分类任务中。

2023-06-04 17:23:38 78

原创 windows软件安装

cuda安装

2023-05-29 10:11:11 228 1

行人重识别数据集(真实场景)

从真实场景(超市,街道,学校)中采集的行人重识别数据

2022-06-14

空空如也

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

TA关注的人

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