- 博客(41)
- 收藏
- 关注
原创 opencv mat 数据类型
CV_32F 32 位浮点数 (-FLT_MAX ……CV_32S 32 位符号整数 (-2147483648……而float 是32位的,对应CvMat数据结构参数就是:CV_32FC1,CV_32FC2,CV_32FC3...double是64bits,对应CvMat数据结构参数:CV_64FC1,CV_64FC2,CV_64FC3等。
2024-09-24 10:54:59 358
原创 c++ 跨平台开发
Visual Studio 2022 远程连接 虚拟机Linux系统(超详细)_visual studio 2022连接远程服务器-CSDN博客
2024-08-26 10:40:51 366
原创 c++ cmake
将源码文件.cpp的目录保存在SRC_LIST变量中,注:源码在src文件夹中。$ cmake CMakeLists.txt文件所在的路径。add_executable(可执行程序名 源文件名)#bin目录下存最后生成的可执行文件。#定义工程会生成一个可执行程序。#定义工程生成一个可执行程序。#执行CMake命令。
2024-08-19 14:34:22 300
原创 vscode与 远程链接 与git
1、在本机的命令行中输入:ssh-keygen, 生成密钥,全部默认,生成的密钥默认在用户目录下的.ssh文件夹中,>在左侧功能栏,打开Remote Explorer可以看到新增的ssh连接,可以在这里快捷的连接远程服务器。在vscode的ssh config中对应的服务器连接添加一栏:IdentityFile。本地(或者链接的远端工控机或者服务器上),与指定git分支进行ssh密钥的方式链接。> 输入 ssh {用户名}@192.***.**.***:22 -A。> 连接后输入密码之后就成功连接上了。
2024-08-16 16:25:40 381
原创 预训练后的模型加载方法pckl文件
图片的问题:暗场,照明光不进入相机镜头,检测反射光;明场,照明光进入相机镜头暗场对应的像素和实际的倍率不确定明场的倍率相对确定,暗场由于光线非直射,缺陷成像的形状和尺寸不能保证。
2024-07-25 15:04:19 183
原创 conda常用命令
conda config --set auto_activate_base false //设置conda的默认环境。conda create --name myenv python=3.8//创建指定python版本的新环境。conda env list或者 conda info --envs//列所所有的虚拟环境。conda create --name myenv//创建新的环境。conda config --show//查看conda配置信息。conda activate myenv//激活环境。
2024-07-18 11:23:58 460
原创 缺陷检测总结
图像分类的方式进行处理缺陷检测,即判断图像窗口内是否为缺陷,或者属于哪一类缺陷,目标检测可以一次性检测出却显得类别,位置和大小,缺陷的位置和大小可以用Bounding box进行描述,进一步使用图像语义分割找出背景中可能存在的区域,并输出像素级得缺陷边界。缺陷检测检测主要功能是从特征图重识别缺陷,并对缺陷进行分类和定位,根据表现缺陷检测算法的任务目标和实现原理,可以分为:模板匹配,图像分类,目标检测,图像语义分割和异常检测。1.1、基于表征学习的缺陷检测模型:分类网络,检测网络,分割网络;
2024-07-11 18:38:28 243
原创 加载预训练后的深度网络,使用pytorch框架
用 PyTorch 框架加载预训练模型并进行预测的过程包括以下几个步骤:加载模型、进行图像预处理、进行前向传播以及处理预测结果。以下是一个完整的示例,展示了如何使用预训练的 ResNet50 模型在一张图像上进行预测。)的行为会有所不同,以便提高模型的泛化能力和稳定性。但是在评估或测试模型时,我们希望模型的行为是确定的、可重复的,因此需要将模型切换到评估模式。img_url = "https://example.com/path/to/your/image.jpg" # 替换为实际图像URL。
2024-07-11 14:01:09 326
原创 学生教师模型
教师-学生神经网络(Teacher-Student Neural Network),也被称为知识蒸馏(Knowledge Distillation),是一种模型压缩和优化方法。通过将复杂且性能优异的“大”教师模型的知识传递给较小的学生模型,使得学生模型在保持高准确度的同时,具有更低的计算资源需求。
2024-07-10 16:55:08 1275
原创 python 项目虚拟环境管理
conda create --nameOfMyEnv python =3.8 (指定创建的解释器的版本)conda env list 或者 conda info --envs。虚拟环境的管理有多种方式,本文介绍使用conda如何进行项目虚拟环境管理。7、列出虚拟环境中的已安装包。4、列出所有的虚拟环境。8、更新虚拟环境中的包。3、关闭停用虚拟环境。6、安装包到虚拟环境。
2024-07-03 15:39:02 179
原创 远心镜头远心度
远心镜头的远心度对成像倍率有一定的影响,特别是在应用于高精度测量和成像系统时。如果远心度较高,会导致视场中心和边缘的成像倍率不同,从而影响测量精度和图像质量。因此,在设计和使用远心镜头时,应尽量选择远心度较低的镜头,并进行精确校准,以确保成像倍率的一致性和测量结果的准确性。远心度的定义:远心度对成像倍率的影响:视场边缘的成像误差:测量精度的降低:图像畸变:
2024-06-20 16:08:41 360
原创 python 与anaconda, conda与pip
Anaconda系列:conda是什么?conda与pip的区别是什么?_conda是什么意思-CSDN博客
2024-05-08 14:52:33 235
原创 c++ 智能指针
p.reset(new int(100)) //释放p指针原先指向的对象,重新指向新对象,但由于原先为空指针,即不进行内存释放。若pi不是唯一指向该对象的指针,则不释放pi指向对象,但指向该对象的引用计数会减1,同时让pi指向新内存。1、给shared_ptr赋一个新的值,指向新的对象,指向旧的对象的所有的shared指针计数减少一个。若pi不是唯一指向该对象的指针,则不释放pi指向的对象,但指向该对象引用计数会减1,同时将pi置空。若pi是唯一指向该对象的指针,则释放pi指向的对象,让pi指向新内存。
2024-04-18 14:02:42 979
原创 常见的linux命令
ldd my_program.out 查看名为 my_program 的可执行文件所依赖的动态链接库;(c++可执行程序) ./my_program.out 在该项目路径下,运行程序 ls:列出目录内容。 cd:更改当前工作目录。 pwd:显示当前工作目录的路径。 mkdir:创建新目录。 rm:删除文件或目录。 cp:复制文件或目录。 mv:移动文件或目录,也可用于重命名文件。 cat:连接文件并打印到标准输出。 grep:在文件中搜索指定模式。 chmod:更改文件权
2024-03-21 16:45:09 215
原创 linux
.o,是目标文件,相当于windows中的.obj文件。 .so 为共享库,是shared object,用于动态连接的,相当于windows下的dll,是Linux中的可执行文件。 .a为静态库,是一堆.o合在一起,用于静态连接,效果和.o是一样的。
2024-03-18 20:17:28 114 1
原创 Opencv 随笔记录
3、计算矩阵中非零元素的个数:int nonZerosNum = countNonZero(mat);// mat为输入矩阵或图像。2、mat.inv() 矩阵求逆(mat类的成员函数)1、矩阵乘法: (.num 是点乘),(*是叉乘)
2024-03-18 13:01:52 186
原创 c++ 关键字,void foo() const 中的关键字 const
常量成员函数通常用于确保对象的状态在函数调用期间不被修改,以提高代码的可靠性和可读性。如果常量成员函数试图修改对象的成员变量,编译器会发出错误提示。在成员函数声明中表示该成员函数是一个常量成员函数,即它承诺不会修改对象的成员变量。virtual void foo() const 中的关键字。函数内部,不能修改任何非。在 C++ 中,关键字。
2024-02-29 10:53:28 553
原创 GTest
// 单元测试环境异常,测试代码#include #include "bne_log.h"#include "gtest/gtest.h"#include "gmock/gmock.h"#include #include "i_trans_coordinate_utils.h"using ::testing::Return;using ::testing::Invoke;using namespace std;using bne:
2024-02-28 14:01:28 192
原创 c++ & 与*符号
指针变量的引用,*取值,使用& 表示使用ref2引用ptr指的变量。使用变量前加入& 代表取地址;地址可以赋值给指针变量。代表获取指针变量指向的变量值。声明变量前加*,代表声明了一个指针变量。声明变量前使用&代表引用。
2024-02-26 16:05:10 325 1
原创 图像畸变,镜头畸变(枕形桶形),透视畸变
(平移、旋转、缩放、放射变换、透视变换)2、镜头导致的枕形畸变-桶形畸变。1、无镜头畸变的透视畸变。
2023-12-14 15:48:49 162 1
原创 Cmake 安装
因为在安装过程中选择了自动添加环境,所以安装完后不用手动添加环境了,但是此时必须得重启电脑,变量才能使用,否则无法对Cmake安装进行测试。【注意】选择好自己电脑是什么系统,以及是32位还是64位。首先下载CMake官网下载地址:https://cmake.org/download/【建议】路径名是在英文路径下,不要包含中文和空格。里面好多版本,根据自己需要版本进行下载。勾选,然后点【next】3.按图中红框勾选,然后点【next】4.路径选择,然后点【next】。下载完成后,双击进行安装。
2023-11-08 10:07:14 183 1
原创 c++ 随笔记录 持续记录
1、->和 .实现的功能是一样的,都是访问类的成员变量或成员函数,. 用于普通变量操作,->只能用于指针变量操作。如:若a为一指向对象的指针,a->f(s)就表示调用a所指的对象中的成员函数f(s)
2023-11-06 16:23:03 61 1
原创 c++ 重载和覆盖(virtual)
函数覆盖发生在存在集成关系的不同类中,要求函数具有相同的函数名和参数列表。实例化的对象在调用函数时会自动调用子类中覆盖的函数,而不调用父类中virtual关键字的函数。需要覆盖功能的函数,只需要在父类中添加virtual关键字即可,子类中覆盖的函数不用加virtual关键字。1、函数重载,要求在同一个类里面,且函数名相同,参数列表不同,实现函数重载,系统会根据调用的函数参数具体匹配到使用的函数。2、函数覆盖(使用virtual关键字)
2023-11-06 15:48:23 145 1
原创 单元测试:Gtest 和Gmock
比如当我们在单元测试、模块的接口测试时,当这个模块需要依赖另外一个或几个类,而这时这些个类还没有开发好,这时我们就可以定义了Mock对象来模拟那些类的行为。说得更直白一些,就是自己实现一个假的依赖类,对这个类的方法你想要什么行为就可以有什么行为,你想让这个方法返回什么结果就可以返回怎么样的结果。然后,使用一个循环遍历向量的每个元素。在C++中,任何程序都需要main函数,gtest和gmock同理,下面是单元测试的入口main,首先导入gtest和gmock库,然后在main函数中分别对其进行初始化。
2023-11-03 15:16:50 1119 1
原创 相机标定,内参求解
多项式求解,泰勒级数,麦克劳林技术,误差项测量,对称,半径参数。世界坐标系,相机坐标系,图像坐标系,像素坐标系。四种坐标,三种变换,两种畸变。刚性变换,透视变换,仿射变换。内参求解,标定测量方法。
2023-10-23 14:32:40 56
原创 c++ opencv 透视变换
/int flags = INTER_LINEAR, 差值方法。//函数原型:cv2.circle(img,中心坐标, 半径, 颜色, 线宽)// 取原图四个顶点up Point2f 代表数据以浮点数的形式存储。//数据尺寸依据调用的方法实现自适应。// 目标图像上的四个点上标记圆形。
2023-10-23 14:25:39 105
原创 图像轮廓识别,基于opencv,c++
thresh = cv2.threshold(blurred, 60, 255, cv2.THRESH_BINARY)[1] //二值图。blurred = cv2.GaussianBlur(gray, (5, 5), 0) //高斯滤波。* 读取图片,转换为灰度图像,设置阈值转为二值图像 //去噪,边缘检测,轮廓发现。读取图像,将彩色图像转换为灰度图像,灰度图像进行模糊处理,图像进行滤波以及阈值处理,噪点去除,识别图像轮廓,识别图像中心点,识别规则几何图像中心线。
2023-10-23 14:23:16 63
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人