自定义博客皮肤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)
  • 收藏
  • 关注

原创 一些三方库的编译

【代码】一些三方库的编译。

2024-08-22 18:34:58 222

原创 openSSL 编译android版本

openSSL的编译与cmake构建的项目不同,记录一下linux和android平台的编译。cpu架构arm64-va8, api 29。

2024-08-16 15:46:46 295

原创 ubuntu github多账号的git问题

vscode的terminal上面推送代码到不同账号,要么重新登录vscode的账号,这样很麻烦,在ubuntu的terminal终端推送代码,需要输入用户名和密码,但是github使用authentication app鉴权后没法输入密码登录github了,在用git push的时候登录不上。如果你使用的是VS Code的集成终端,你可能需要更新你的Git凭据存储以使用新的令牌。然后,下次你被要求输入密码时,输入你的个人访问令牌,它将被保存并用于后续的身份验证。

2024-08-13 12:07:06 361

原创 Target “xxx“ links to target “Iconv::Iconv“

iconv是一个用于字符编码转换的库,它可以在不同的字符编码之间转换文本。例如,你可以使用iconv将UTF-8编码的文本转换为ISO-8859-1编码。加入find_package(Iconv)就ok了。之前碰到一次,解决了现在又碰到一次,记录一下。

2024-08-01 15:44:01 162

原创 yolov5的分布式训练问题

RuntimeError: Default process group has not been initialized, please make sure to call init_process_group

2024-07-25 11:07:00 492

原创 ubuntu系统vscode调试c/c++大中型项目

对于我的项目需要用到很多的三方库,三方库的版本又会有很多,一般都是用cmake编译安装到指定的位置,最好的方式是三方库都放到一个非系统的文件夹下,后面要修改版本也和系统不冲突。每个开发人员的路径都不一样,所以这些路径都不会在cmakeLists里面有体现,都是在脚本里面指定。bash 命令中的cmake -DXXX=YYY的可以在里面添加cmake.configureSettings项,指定XXX:YYY。vscode调试的时候跳转三方库头文件啥的,在这里面的includePath里面配置添加;

2024-07-19 12:34:40 635

原创 samba共享windows和ubuntu的文件

在Windows中,打开文件资源管理器,点击“网络”选项卡,你应该能看到Ubuntu的Samba服务器。现在你可以像操作本地文件一样,在Windows中对共享目录中的文件进行读取、写入等操作。如果需要特定用户访问特定目录,可以在Samba配置文件中指定用户的访问权限。映射完成后,你可以在文件资源管理器中通过驱动器字母访问共享目录。在配置文件的末尾添加一个新的共享配置段。例如,如果你想共享名为。编辑Samba配置文件,通常位于。

2024-07-11 10:14:52 618

原创 linux开发常用工具和命令

这个命令的基本格式是 ln [option] target link_name,其中 target 是你想要链接到的文件或目录,link_name 是链接的名称。“obj” 是 “object”(对象)的缩写,“dump” 是 “dump out”(倾倒出)的意思,所以 objdump 的含义是倾倒出对象文件的信息。创建硬链接:硬链接是指向文件系统中的物理位置的引用。ll 是 ls -l 的别名,用于列出当前目录中的所有文件和目录,以及它们的详细信息,包括权限、所有者、大小和修改时间。

2024-07-02 14:03:56 905

原创 yolov8对新的数据集自动标注

项目地址。

2024-07-01 18:34:05 574

原创 NDK交叉编译

android平台的库和linux平台的库大多数都不一样,需要用ndk编到android上用的话在本地也需要一份去做编译连接。在cmakelists文件中可以设置不同平台找不同路径下的库,这样就可以指定编译工具链去编译不同平台的工程了。以yaml-cpp库为例。从github上下载代码仓库,进入根目录,采用NDK交叉编译,并且用CMAKE_INSTALL_PREFIX指定安装路径。

2024-06-05 15:56:35 406

原创 NCNN的编译使用

模型测试参数在<ncnn_root>/benchmark下面, 在benchncnn可执行程序中路径是固定的,所以把benchncnn可执行程序放到benchmark目录下面,然后执行benchncnn可执行程序即可。yolov7 ncnn格式的模型下载链接https://github.com/nihui/ncnn-assets/tree/master/models。项目地址:https://github.com/Tencent/ncnn。这是测试各模型的推理性能的。编译完会生成这样的文件。

2024-05-23 17:48:25 465

原创 字体文件查看

FontForge是一个免费且开源的字体编辑器。打开一个otf或者ttf文件。

2024-05-23 11:53:33 211

原创 基于双经度模型的鱼眼图像畸变校正

算法来自论文《基于双经度模型的鱼眼图像畸变矫正方法》

2024-05-11 17:24:30 1126 4

原创 本地的git仓库和远程仓库

2)-u选项设置了origin/my-branch为my-branch的上游,这意味着在未来,你可以只运行git push和git pull,而不需要指定远程仓库和分支。请注意,强制推送会覆盖远程仓库的分支,所以在使用这个选项之前,最好先确保这不会影响其他人的工作。上面创建完后会得到一个git仓库的链接,有SSH或者http的。1)它将你的my-branch分支推送到origin远程仓库。使用下面的命令给本地仓库添加关联远程仓库。把本地的master分支推送到远程。这样远程仓库里面就会有本地的提交了。

2024-05-06 16:03:24 572 1

原创 mmdeploy框架导出模型为ONNX

model_cfg : mm 算法库的模型配置,例如 mmpretrain/configs/vision_transformer/vit-base-p32_ft-64xb64_in1k-384.py,与 mmdeploy 的路径无关。–log-level : 设置日记的等级,选项包括’CRITICAL’, ‘FATAL’, ‘ERROR’, ‘WARN’, ‘WARNING’, ‘INFO’, ‘DEBUG’, ‘NOTSET’。c++ 的onnx库,在你喜欢的目录下下载解压,设置环境变量即可。

2024-04-23 15:35:55 866

原创 mmclassification 训练自己的数据集

如果你也喜欢这样的方式可以直接copy附录中的config修改去训练。mmlab系列的训练测试转化都是以config来配置的,三个基础块,一个是数据集,一个是模型,一个是runtime,有很多模型都是从_base_目录中继承这三个组件,然后修改其中的一些选项来训练不同的模型和数据集。:我训练的时候有些图好像是坏的,mmcv以opencv为后端来获取图片,这里最好先把坏图过滤掉,不然训练的时候会报cv imencode失败或者找不到图像。下面是我训练mobilenet v3时修改的config。

2024-04-22 10:44:49 779

原创 【NCC】之五:金字塔加速之第一次超越opencv模板匹配

模版匹配速度第一次超过opencv

2024-03-29 16:53:30 430

原创 基于深度学习的面向工业场景的异常检测(一)

在工业场景中,正常样本往往是大量的,而且相对容易获取,比如符合质量要求的产品或零件。而缺陷数据通常较少,因为缺陷会导致产品被剔除或需要返工修复,从而增加生产成本和时间成本。此外,不同类型的缺陷样本也可能具有较强的特异性,涉及到领域专业知识和经验的积累,并且需要人工手动标注。在这种情况下,缺乏缺陷样本会导致深度学习模型无法对缺陷进行准确区分,存在过拟合的风险。用检测行业的话来说就是容易“漏检”,在工业视觉检测中,漏检问题严重影响着企业的生产效率和质量保障。

2024-01-23 13:44:46 643

原创 ubuntu opencv 编译contrib库

【代码】ubuntu opencv 编译contrib库。

2024-01-19 17:29:14 677

原创 ubuntu系统 vscode 配置c/c++调试环境

ctl+shift+p 打开命令行,输入cmake,选择cmake:show config command。你会看到在左侧栏多了cmake tools的图标,点击它,手动确认。先到断点处,F10单步调试,F11进入函数调试,F5继续调试。cmake cmake tools插件。点调试的按钮后的结果。

2024-01-18 16:05:54 1399 1

原创 ubuntu opengl安装使用

OpenGL到底是什么。一般它被认为是一个API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。

2024-01-18 10:35:09 1715

原创 RANSAC(Random sample consensus)随机抽样一致性

RANSAC(Random Sample Consensus)是一种迭代的参数估计算法,用于从包含噪声和异常值的数据中拟合数学模型。它最初由Fischler和Bolles于1981年提出,被广泛应用于计算机视觉和计算机图形学等领域。RANSAC的核心思想是随机选择数据中的一小部分样本,并根据这些样本拟合一个模型。然后,通过计算其他数据点到该模型的距离,并将距离小于一定阈值的数据点划分为内点,而距离大于阈值的数据点则划分为外点。重复此过程多次,并选择具有最多内点的模型作为最终的估计结果。

2024-01-16 10:38:45 1445

原创 Ubuntu安装HDF5

下载源代码解压进入解压后的目录编译依次执行下面的命令输出。

2024-01-12 16:50:36 1188

原创 Mingw32编译opencv库

注意:mingw32-make编译的库和MSVC编译的库不兼容,MSVC和mingw-make生成的动态库使用的是不同的ABI(Application Binary Interface),不能混合使用由这两个编译器生成的库。例如,如果你的程序使用了由MSVC编译的库,那么你的程序也必须使用MSVC来编译。另外mingw32-make编译的库的库文件是.a后缀,MSVC编译的库的库文件是.lib。

2024-01-11 19:40:46 730

原创 windows下使用cmake和mingw32构建编译项目

编辑系统变量Path,添加两个路径:D:\myApp\mingw64\bin;请注意,这些命令可能需要不同的参数和选项,你可以通过在命令后面添加。md或mkdir:创建一个新的目录。xcopy:复制文件和目录,包括子目录。ren或rename:重命名文件或目录。dir:列出当前目录中的文件和子目录。rd或rmdir:删除一个目录。move:移动文件和重命名文件或目录。del:删除一个或多个文件。chkdsk:检查磁盘的状态。find:在文件中查找文本。copy:复制文件。type:显示文件的内容。

2024-01-10 18:50:15 1721

原创 const int* , const int * const, int * const之间的区别

是不可变的(immutable pointer),不能改变它所指向的地址,但可以通过。是不可变的(immutable pointer),不能改变它所指向的地址,也不能通过。是可变的(mutable pointer),可以改变它所指向的对象,但不能通过。是一个指向常量整数的常量指针。是一个指向常量整数的指针。是一个指向整数的常量指针。

2023-09-08 14:25:51 376

原创 用模板元编程的方式判断一个结构体是否含有某成员函数

这个部分特化的定义使用了 SFINAE(Substitution Failure Is Not An Error)机制来根据。此时,我们可以使用特化(specialization)来对具体的类型进行判断。最近在看kdtree的东西找到一个只包含头文件的实现版,看到里面有这样一段代码一脸懵。查了一下才知道这个语句是一个用于进行模板元编程的定义。这种技术可以用于编写更加泛化和灵活的代码,根据类型的特性来进行条件判断和分发。时能够通过编译,那么这个部分特化将生效,继承自。成员函数,那么可以创建一个非模板的。

2023-08-11 10:53:43 282

原创 git删除已经提交的大文件

git删除已经提交的大文件

2023-08-03 20:47:50 661

原创 git 合并非关联分支

面对的场景:现在有三个仓库,一个是本地的仓库1,第二个是和仓库1关联的在github上的仓库2,第三个是把仓库1拷贝到一个无网络环境中持续开发一段时间的仓库3.

2023-07-27 22:46:17 590

原创 heap sort

堆排序(Heap Sort)是一种基于完全二叉树结构的排序算法。它的主要思想是将待排序的序列构建成一个大顶堆(升序排序时使用)或小顶堆(降序排序时使用),然后依次将堆顶元素与最后一个元素交换,并重新调整堆,直到所有元素都排好序为止。

2023-07-24 22:09:09 74

原创 C/C++导出函数和变量

C/C++函数和变量的导入导出机制

2023-07-21 14:51:20 3557 1

原创 【NCC】之四:计算协方差的提前退出条件

利用柯西-施瓦兹不等式提前退出一些NCC中候选位置的计算

2023-06-29 01:23:39 205

原创 概率 随机变量 条件概率 贝叶斯定理

介绍概率和随机变量 条件概率 贝叶斯定理

2023-06-20 20:50:21 1182

原创 t-SNE(t-stochastic neighourhood embedding) 数据降维及可视化

t-SNE 旨在保持数据点之间的局部相似性,即将高维空间中距离接近的点映射到低维空间中距离仍然较近的位置。

2023-06-04 17:04:46 1741

原创 当我问chatGPT怎么拟合曲线

是不是不用干活了

2023-05-26 17:52:50 1230

原创 C++ 代码整洁之道

C++代码整洁之道的摘要

2023-05-26 15:58:52 2125 2

原创 C++ enum 和enum class

推荐使用enum class

2023-05-11 12:37:19 685 1

原创 C++ friend

关键字允许我们在不暴露类的私有成员的情况下,让其他非成员函数或类可以访问这些私有成员。是一个关键字,用于声明一个非成员函数或类可以访问另一个类的私有成员。关键字可能会破坏封装性和抽象性,因此必须谨慎使用。在上面的代码中,我们创建了一个。是一个自由函数,它被声明为。的朋友(即友元函数),的公有接口来进行访问。这两个函数都可以访问。例如,我们有一个名为。是一个类,它被声明为。,因为它们被声明为了。

2023-05-08 15:07:02 95

原创 C++ explict

C++中的`explicit`是一个关键字,用于修饰构造函数,它可以防止编译器进行隐式类型转换,只允许显式地调用构造函数。它不能用于隐式转换和复制初始化。

2023-05-08 14:49:58 92

原创 装饰器模式

假设有一个抽象的组件类Component,它有一个纯虚函数operation(),表示组件的核心功能。还有一个抽象的装饰器类Decorator,它也继承自Component,并且持有一个Component类型的指针,表示被装饰的组件。Decorator类也重写了operation()函数,在调用被装饰组件的operation()函数之前或之后,可以执行一些额外的操作。装饰器模式是一种结构型设计模式,它可以在不改变原有对象的结构和功能的情况下,动态地给对象添加一些额外的职责。

2023-04-17 17:32:15 111

空空如也

空空如也

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

TA关注的人

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