自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python中import halcon

要么将这4个dll文件,放到需要运行的python文件同级目录下。要么halcon添加到环境变量中,需要python>=3.8的环境。python代码的运行依赖于。

2026-01-16 15:07:39 11

原创 qt_代码记录

【代码】qt_代码记录。

2025-12-30 17:03:31 116

转载 win10配置ftp服务器

选择特定的用户,然后点击设置,会弹出窗口,输入新增的系统用户信息以及密码即可。#6 这时在浏览器内输入网址:ftp://127.0.0.1就弹出登录框,可以输入用户名和密码登录进入。#7.控制面板>系统和安全>防火墙>允许应用或功能通过Window防火墙>…#1.打开IIS管理器,找到已经设置好的ftp服务器,然后点击ftp身份验证。(控制面板可在 桌面右键>个性化>主题>桌面图标设置>勾选控制面板>确定)#2.关闭匿名身份验证,这样做的话,每次登录就需要用户名和密码了。#1.控制面板>程序>启用或关闭。

2025-12-30 15:18:24 90

原创 vscode使用black对python代码进行格式化

vscode中使用black formatter的插件对python的代码进行格式化,自动对齐python的代码,使排版更加工整。

2025-09-02 09:58:55 1204

原创 vscode配置pyqt5的GUI开发环境

电脑上安装的qt creator6,在新建python的qt项目时,只能创建pyside6的工程,找不到pyqt的工程创建入口,然后下了个pycharm,配置pyqt5的gui开发环境,又慢又卡,最后试了一下vscode,比较简洁方便,能成功的调用designer.exe用拖拉拽的方式设计页面,特此记录一下。

2025-07-30 17:20:13 763

原创 vscode编辑Markdown文件

vscode的扩展,搜索Markdown Preview Enhanced的插件,并安装。即可在编辑过程中,实时的预览效果。

2025-07-18 15:49:29 546

原创 vscode的终端运行目录修改为当前文件的路径下

vscode的终端默认在工作区的根目录下打开,而运行的文件需要在当前目前下执行,会遇到路径错误的问题。2.然后在cwd设置这一栏,填入${fileDirname}即可在文件的当前目录下,执行该文件。(逗号)打开设置界面,搜索。

2025-07-18 10:10:07 1295

原创 MaskFormer语义分割算法测试

MaskFormer是一套基于transformer结构的语义分割代码。测试用的数据集:ADE20k Dataset该数据集可通过上述链接下载,其中training含有20210张图片,validation含有2000张图片。SceneParsing中是全景分割的标签图片,InstanceSegmentation是实例分割的标签图片。

2025-03-28 18:39:59 1115

原创 vscode中使用launch.json进行python代码的调试

在使用vscode调试python工程时,一些python代码含有较多的输入变量,可将代码的输入变量写入到launch.json中,帮助调试。"program"是主函数的文件路径。新建一个launch.json。"args"是输入的参数的值。

2025-03-27 15:32:02 1144

原创 c++_用于程序计时

方法二: 调用<chrono>中的函数。方法三: 调用opencv中的计时函数。方法一:调用<time.h>中的函数。

2025-03-26 16:54:26 296

原创 Qt creator配置格式化代码插件clang-format

Qt Creator 本身默认支持代码格式化,具体格式化快捷键为:Ctrl+i。可以选择部分或全部选择后执行 Ctrl+i 操作完成代码格式化。但只限于缩进格式化,不会对大括号位置、小括号前后空格、运算符前后空格等进行格式化操作,显然使用起来并不是那么的舒心。本文介绍了如何使用 Qt Creator 内置的 Beautifier 插件-clang-format工具,实现全面的代码风格格式化。使用Qt6,Qt Creator 14.0的软件版本。

2025-02-06 15:39:30 3027 1

原创 Qt中的UIC、MOC、RCC宏定义说明

在Qt6新建工程的时候,CMakeLists.txt中会默认带有UIC,MOC,RCC的3个宏定义。uic(User Interface Compiler),用户界面编译器,将根据.ui文件生成相应的.h文件,例如根据mainwindow.ui生成ui_mainwindow.h。moc(Meta-Object Compiler),元对象编译器,用于处理QT拓展的C++语法。rcc(Resource Compiler),rcc工具用于在构建过程中将资源嵌入到Qt应用程序中。

2025-02-04 15:09:16 1032

原创 windows上的远程桌面连接

若想重新显示顶部的蓝色连接栏,按 Ctrl+Alt+Home进行重新显示。右键编辑.rdp文件,在末尾添加selectedmonitors:s:1。设置-系统-远程桌面,勾选"启用远程桌面"的选项。点击连接,即可进入windows自带的远程桌面。win+r,启用命令行,输入mstsc。输入被访问计算机的ip地址和计算机名。即可指定显示1号分屏。

2025-01-21 09:56:41 571

原创 Qt中SQLite数据库的使用

这个方法的作用是设置预处理语句中的占位符的值,从而将真实的数据插入到SQL语句中。下载之后,解压到本地,打开DB Browser for SQLite.exe,然后点击打开数据库,选在刚才保存到本地的db文件,即可查看里面的内容。sqlite的数据会写入到db的文件中,若想可视化查看数据内容,可借助第三方工具,本文中使用SQLite Browser的工具。也可以在Qt Creator中添加该第三方的工具,更加方便的查看该数据库,工具-外部-配置,

2024-12-26 11:40:55 1633

原创 c++_std::bitset位运算

int main()// 默认初始化:全0 -> 00000000// 用整数初始化:64 = 01000000// 用字符串初始化:11101010return 0;

2024-12-25 16:40:04 417

原创 opencv存图速度测试

在机械硬盘上,磁盘的IO一般为100M/s左右,若频繁存bmp的大图,磁盘的IO不够,磁盘写入的速度太慢,会影响程序的运行。结果显示使用opencv存bmp的速度最快,存一张大图的时间大概为22ms左右。以下测试的图片,均为5488x3672分辨率的三通道彩色图。当存小图的时候,使用halcon存bmp的速度最快。

2024-12-25 11:21:23 859

原创 windows下Redis的使用

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

2024-12-24 10:06:31 1088

原创 nvidia gpu架构代号

使用NVIDIA GPU时,难免会用到nvcc来编译自己写的cuda代码,nvcc要求我们给一个-arch选项或者-gencode选项,gencode也可以从ptx编译代码。但是NVIDIA的架构代号很多,有GA-{num}类型,也有sm_{num}类型,有时候给人整不会了都。从8.0上编译出的二进制文件也可以在8.6上运行,但还是推荐在fp32类型上使用8.6的编译选项。,而没有使用-arch,CPU的codegen会发生在JIT阶段,就是在runtime编译device code。

2024-11-15 15:20:14 1787

原创 cuda编程实现向量加法

其中grid中的block有x/y/z三个维度,总数有最大值,每个维度上有各自的最大值,需要查阅当前的cuda规范。一般来说,block中的线程数最大为1024个。上面流程中最重要的一个过程是调用CUDA的核函数来执行并行计算,kernel是CUDA中一个重要的概念,kernel是在device上线程中并行执行的函数,核函数用。来指定kernel要执行的线程数量,在CUDA中,每一个线程都要执行核函数,并且每个线程会分配一个唯一的线程号thread ID,这个ID值可以通过核函数的内置变量。

2024-11-15 11:20:03 871

原创 c++_std::async异步调用

std::async会返回一个std::future对象,当需要这个值的时候,需要调用这个对象的get()成员函数,并且会阻塞线程直到期望值状态变为就绪。从线程的id号,可发现,函数是在单独的线程中运行的。调用data.get()会阻塞main函数中的执行过程,等待std::async的异步函数执行完毕之后,再接着走主函数。2.std::launch::defered,函数调用被延迟到get()或者wait()函数调用的时候才执行。1.std::launch::async,函数必须在其独立的线程上运行。

2024-11-11 15:20:57 331

原创 C++17_filesystem的使用

【代码】C++17_filesystem的使用。

2024-11-08 18:42:43 364

原创 opencv_相关的问题

Debug模型下运行,在命令行窗口会有一些error相关的log信息。通过调整log的等级,屏蔽掉INFO的log信息。

2024-11-08 17:29:29 422

原创 C++_判断文件是否存在_access函数

pathname 为文件路径或目录路径 mode 为访问权限(在不同系统中可能用不能的宏定义重新定义):如果文件具有指定的访问权限,则函数返回0;如果文件不存在或者不能访问指定的权限,则返回-1.Linux下,该函数为access,位于头文件<unistd.h>中。windows下,该函数位_access,位于头文件<io.h>中。

2024-11-08 17:18:56 788

原创 C++命名规范

通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域、类型等。前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。业界共有四种命名法则:驼峰命名法、匈牙利命名法、帕斯卡命名法和下划线命名法,其中前三种是较为流行的命名法。(也叫大驼峰命名),与驼峰命名法类似,二者的区别在于:驼峰命名法是首字母小写,而帕斯卡命名法是首字母大写,,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。示例:DisplayInfo();

2024-11-08 16:51:05 324

原创 python_多进程处理数据

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

2024-09-05 17:18:52 450

原创 Qt_QString和HTuple之间的转换

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

2024-09-03 15:58:04 473 1

原创 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 717

原创 python_timm手动下载模型

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

2024-05-09 17:56:39 1194 1

原创 c#_一些代码片段

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

2024-01-17 09:00:09 573

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

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

2023-09-20 16:37:44 985

原创 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 927

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

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

2023-09-18 20:55:43 887

原创 halcon_基本语法

【代码】halcon_基本语法。

2023-09-17 15:14:01 1025

原创 halcon_tuple的操作

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

2023-09-17 14:47:50 7344

原创 halcon_一些代码片段

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

2023-09-17 14:40:19 180

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

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

2023-09-16 18:08:23 341

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

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

2023-09-08 15:36:17 399

原创 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 672

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

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

2023-08-13 23:32:13 428

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

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

2023-08-11 09:41:58 308

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

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

2022-06-14

空空如也

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

TA关注的人

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