- 博客(58)
- 收藏
- 关注
原创 OpenCV圆形标定板检测算法findCirclesGrid原理详解
若最长路径是一行,则每次沿上下方向扩充1行(要么在最上面增加1行,要么在最下面增加1行),上下方向由前述“向下的基向量”定义。以扩充行为例,当前网格的首行向上扩充一行得到above,当前网格的尾行向下扩充一行得到below,需要分别计算above、below的置信度,将置信度较大的那一行插入当前网格中(前提是置信度比minGraphConfidence大)。某点正上方的最近点、正下方的最近点、正左方的最近点、正右方的最近点都是该点的邻居,computeRNG函数保存了所有邻居到该点的方向向量。
2024-12-03 14:47:23
938
原创 YUV 简介及使用
NV12、NV21 的存储格式为 Y 平面,UV 打包一个平面,共两个平面,即:先连续存储 Y,然后连续交叉存储 UV# 不同点在于 UV 的排列顺序,SP 为 Semi-Planar 的缩写# NV12:先是 w。
2024-08-02 17:40:00
124
原创 图像、色彩波和抗混叠
如果图像的高频信息丰富,对图像进行缩小时,缩小后的图像可能会出现混叠现象。所谓的“抗混叠”,就是在缩小图像之前,先对原图进行低通滤波,把高频信息滤掉。如下图所示(图片来源于维基百科。关于混叠现象和抗混叠,详细解释可以参考。
2024-06-27 14:01:31
197
原创 OpenGL-状态机
A finite state machine is any device or program that remembers its current state and performs actions based on that state. Here is a visual depiction of a simple state machine. It is a model of a simple on/off switch with two states. Some observat
2024-05-24 17:39:53
1074
原创 yolov5-6.0调测记录
直接运行yolov5-6.0/detect.py,输出如下:image 1/2 C:\Users\dun\Downloads\yolov5-6.0\data\images\bus.jpg: 640x480 4 persons, 1 bus, Done. (0.216s)image 2/2 C:\Users\dun\Downloads\yolov5-6.0\data\images\zidane.jpg: 384x640 2 persons, 2 ties, Done. (0.166s)Speed:
2024-04-20 19:05:44
522
1
原创 pytorch环境配置踩坑记录
step b:打开C:\Users\用户名这个文件夹,找到名为.condarc的文件,将其内容改成以下内容。step a:如果C:\Users\用户名这个文件夹没有名为.condarc的文件,执行以下命令创建一个。step c:重新执行以下命令。
2024-04-19 21:54:38
940
原创 pytorch Neural Networks学习笔记
(5)卷积层2,滤波器的shape为16×6×5×5,滤波器个数16,通道数6,高5,宽5。卷积层2的输出为16×10×10。(7)池化层,滤波器的大小为2×2,stride为2×2,输出为16×5×5。(2)卷积层1,滤波器的shape为6×1×5×5,滤波器个数6,通道数1,高5,宽5。(4)池化层,滤波器的大小为2×2,stride为2×2,输出为6×14×14。(8)全连接层1,权重的shape为400×120,输出为1×120。(10)全连接层2,权重的shape为120×84,输出为1×84。
2024-04-13 19:39:50
296
1
原创 C++判断点是否在三角形内部
计算向量AB和AP的叉积、向量BC和BP的叉积、向量CA和CP的叉积,如果所有的叉积符号相同,则点在三角形内部。判断点是否在三角形内部。
2024-03-27 10:57:34
509
原创 C++友元函数/友元类
(1)在类中用friend关键字去声明函数/类,则这个函数/类就会变成友元函数/友元类;(2)友元函数/友元类的声明位置没有要求,可以在private、protected、public权限区,效果都是一样的;(3)友元函数/友元类是单向的,A在B类中被声明为友元函数/友元类,表示A是B的友元函数/友元类,但B不是A的友元函数/友元类;(4)友元函数/友元类具有和类成员一样的权限,可以访问protected和private权限的成员,但不是类的成员;
2024-02-04 12:59:52
1045
原创 C++构造函数/析构函数/复制构造函数(深拷贝/浅拷贝)
比如上面B在拷贝A时,将A.name的值原封不动拷贝过来,导致B.name指向同一块内存,但是那块内存是A申请的,A在使用时不会考虑B,就可能存在A将内存释放掉但是B不知道,B仍然在使用那块内存,此时就会出错;(2)如何定义拷贝的深和浅:浅拷贝就是把类/结构体的变量原封不动的赋值,不考虑指针变量;(1)当我们对复杂类型(结构体或者类)的对象进行初始化时,如果将对象A赋值给同类型的对象B,此时就涉及深拷贝和浅拷贝的问题;总结:对象拷贝时,对指针变量做处理的是深拷贝,不对指针变量做处理的是浅拷贝;
2024-02-03 23:21:04
1111
原创 C++ this指针/常量成员函数/const/mutable
(1)const关键字在C语言中就有,C++兼容C,所以C中const的用法C++中全都支持;(2)const修饰引用,主要用于函数传参,限制函数内部对实参进行修改;(3)const修饰成员函数(常函数),限制成员函数在内部修改成员变量;
2024-02-02 13:14:19
992
原创 C++强制类型转换之const_cast
一个简单的例子如下,"const int *p"中的 const 是底层 const ,使用 const_cast 去掉这个底层 const 以后,尽管我们可以通过 q 改变指针指向的变量,但是从运行结果来看,这种通过 q 写值的行为并不合适。(2)只有 const_cast 能改变运算对象的常量属性,使用其它形式的命名强制类型转换、改变运算对象的常量属性、都将引发编译器的错误。(1)const_cast 只能改变运算对象的底层 const,底层 const 和顶层 const 的区别如下图。
2024-01-12 22:11:54
23164
1
原创 数字图像处理常用算法的原理和代码实现详解
本专栏详细地分析了常用图像处理算法的数学原理、实现步骤。配有matlab或C++实现代码,并对代码进行了详细的注释。最后,对算法的效果进行了测试。相信通过这个专栏,你可以对这些算法的原理及实现有深入的理解!如有疑问,欢迎在评论区留言讨论!
2024-01-12 21:44:42
664
原创 OpenGL学习笔记-Blending混合
当OpenGL渲染一个片段时,会根据混合方程对上述两个颜色向量进行加权组合(whenever OpenGL renders a fragment, it combines the current fragment’s color with the fragment color currently in the color buffer),Cresult是加权组合后的结果,将保存到color buffer中,并且会将Cdestination覆盖掉。
2024-01-09 20:37:48
540
原创 OpenGL学习资料汇总
出于节省CPU算力的考虑,项目要求在GPU上实现一些原本运行在CPU上的算法,所以开始学习OpenGL。学习过程中,找到了一些很棒的资料。在这里记录一下,分享给有需要的朋友们。强烈推荐两个学习网站:第一个是learnopengl的英文网站(虽然有中文版网站,但个人觉得英文版的描述更准确);第二个是GAMES101课程网站,可以补充一些必要的计算机图形学的知识。配合上代码实践,大家应该都可以快速入门OpenGL!这篇博客会持续更新,我会把后续找到的一些优质资料分享给大家,欢迎关注!
2023-12-07 18:17:19
642
原创 冒泡排序C++实现代码
以从小到大排序为例:假设数组中有N个元素,由于每趟冒泡可以将“无序部分”的最大值插入到“有序部分”的最左边,所以需要执行(N - 1)趟冒泡。开始执行第 i 趟冒泡时,“有序部分”包含 i 个元素,“无序部分”包含(N - i)个元素;从“无序部分”的第1个元素开始,与右侧相邻元素比较大小,若左侧元素大于右侧相邻元素,则执行交换;完成(N - i - 1)次比较和交换后,“无序部分”的最大值是其最后一个元素,同时也是“有序部分”的第一个元素。下面的代码中,若flag为1,则数组按降序排列;
2023-05-26 12:52:14
397
原创 C++去除数组中的重复元素
为实现数组去重功能,unique函数必须搭配sort函数使用,下面测试注释掉get_unique_elements函数中的sort函数时的结果。根据测试结果可知,unique函数只能对相邻的重复元素进行去重。所以去重之前,需要先对数组进行排序。先使用sort函数对数组进行排序,再使用unique函数得到数组去重后的结果。unique函数返回一个迭代器,指向最后一个不重复元素之后的下一个位置。下面代码中的n是,数组去重后,元素的数目。
2023-05-23 23:14:34
2913
原创 Canny边缘检测算子原理和matlab和opencv实现代码
详细地分析了Canny边缘检测算子的数学原理,配有matlab和opencv实现代码
2022-11-27 22:33:00
7430
15
数字图像处理-中值滤波matlab代码及测试数据.zip
2023-05-31
数字图像处理-直方图均衡化matlab代码及测试数据.zip
2023-05-31
数字图像处理-直方图规定化matlab代码及测试数据.zip
2023-05-31
数字图像处理-Sobel算子matlab代码及测试数据.zip
2023-05-31
数字图像处理-Canny算子matlab代码及测试数据.zip
2023-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人