自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 神经网络:从神经元到深度学习

目录 神经元 单层神经网络 两层神经网络 多层神经网络(深度学习) 总结 神经元 1)生物上的神经元 一个神经元通常具有多个树突,主要用来接受传入信息;而轴突只有一条,轴突尾端有许多轴突末梢可以给其他多个神经元传递信息。轴突末梢跟其他神经元的树突产生连...

2020-04-25 10:26:42 92 0

原创 计算机视觉问题总结

opencv双目标定,知道左右相机的旋转和平移矩阵,如何求出两个相机的相对位置? 答:将第一个矩阵的旋转矩阵转换为单位矩阵,平移向量转换为0向量,即可。 计算机视觉到底是不是计算机科学下面的研究方向? 答:必须是,应该现在的计算机视觉基本都是搞计算机的人在做,还有就是一些做自动化的也在做,计...

2019-12-22 16:19:28 213 0

原创 低层次的图像特征提取——边缘检测

综述 底层次的特征是不需要任何形状信息(空间关系的信息)就可以从图像中自动提取的特征,这样看来,阈值方法就是作为点处理的一种低层次特征提取方式,所有低层次方法都可以作为高层次特征提取的预处理,从而在图像中找到形状。 边缘检测相当于漫画家的草稿,了解频域将有利于分析低层次特征提取。 角点检测,...

2019-12-18 18:00:42 146 0

原创 数字图像处理总结

为什么要用8个亮度级来描述图像? 模拟摄像机的信噪比约为45dB,每一位是6dB,所以8位可以包括有效范围,选择8位像素的另一个好处是:方便把像素存储成字节;而且,8位的A/D转换器最便宜。 怎么定义合适的图像大小N?即分辨率? N太小导致图像锯齿化严重,N太大会导致存储空间的增大,所以需要...

2019-12-18 16:06:06 50 0

原创 Qt的事件循环机制

问题1:Qt中常见的事件有哪些? 答:鼠标事件(QMouseEvent)、键盘事件(QKeyEvent)、绘制事件(QPaintEvent)、窗口尺寸改变(QResizeEvent)、滚动事件(QScrollEvent)、控件显示(QShowEvent)、控件隐藏(QHideEvent)、定时器...

2018-09-26 15:49:58 7622 1

原创 基于数学形态学的图像边缘提取方法

Github地址: 传统的边缘提取方法是基于局部梯度的,梯度边缘检测算子详述参考:低层次的图像特征提取——边缘检测 在基于梯度的经典边缘检测算子中,以Roberts、Prewitt、Sobel、Laplacian算子最为经典和常用。它们都是基于像素的处理方法,具有形式简单、易于实现的优点,...

2020-06-03 17:45:02 156 0

原创 【opencv】阈值处理函数threshold()详解

参考opencv的思想,使用C++重新实现图像的阈值操作,代码详见:代码 数字图像处理中,阈值操作占有非常重要的地位,例如图像的二值化可以使图像中数据量大为减少,从而能凸显出目标的轮廓。opencv中提供了函数cv::threshold()用于图像的阈值操作。 函数原型 double cv...

2020-06-03 17:30:55 83 0

原创 使用BitLocker加密磁盘

第一步、在控制面板中点启用BitLocker 第二步、设置解锁密码,用于之后的解锁 第三步、保存密钥到本地文件 第四步、选择加密策略 第五步、如果是加密本地磁盘,则选择新加密模式即可 第六步、开始加密 完成后,磁盘上面多了一把锁,但是是打开的状态。 第七步、以...

2020-06-02 18:33:47 80 0

原创 VS Code源文件乱码解决方法

环境:Visual Studio Code 1.45.1 默认情况下,我们使用VS Code打开一个utf-8编码的文件(VS Code通常默认UTF-8编码),通常会出现中文乱码的情况,如下图所示: 一种办法是,点击右下角的编码按钮(图中为UTF-8),然后选择操作,通过编码重新打开(R...

2020-05-25 17:28:56 51 0

原创 C++读取文件夹下的所有文件

//获取文件夹下的所有文件的文件名,并存放到vector中 std::vector<std::string> getfile(const std::string &path) { std::vector<std::string> vPath; intptr_t ...

2020-05-25 12:04:58 43 0

原创 【git】Git和GitHub的区别

GitHub与Git的区别,GitHub与Git是完全不同的两个东西,两者应该区分描述。 在Git中,开发者将源代码存入名叫“Git 仓库”的资料库中并加以使用。而GitHub则是在网络上提供Git仓库的一项服务。也就是说,GitHub上公开的软件源代码全都由Git进行管理。理解Git,是熟练运...

2020-05-25 10:24:36 31 0

原创 【C++】字符串查找、字符串截取、字符串替换

1. 截取子串 s.substr(pos, n) //截取s中从pos开始(包括0)的n个字符的子串,并返回 s.substr(pos) //截取s中从从pos开始(包括0)到末尾的所有字符的子串,并返回 2. 替换子串 s.replace(pos, n, s1) //用s...

2020-05-23 22:36:21 63 0

原创 【深入探索C++对象模型】(1)关于对象

在C语言中,数据和函数(操作数据的方法)是没有关联机制的,它们被分开声明和使用,这样的语言叫做“程序性语言”,由一组分布在各个以功能为导向的算法所驱动,各个函数处理共同的外部数据。 例如,定义一个结构体 typedef struct Point { int x; int ...

2020-05-12 19:28:17 52 0

原创 【halcon】示例(3)——多通道图像进行分类

一种简单的多通道图像分类方式,涉及create_class_box 、learn_ndim_box 、class_ndim_box 的使用方法。选取多通道图片的感兴趣区域与背景可以对多通道图片进行快速分类。 *读入图片 read_image (Image, 'ic') *...

2020-05-12 15:10:32 105 0

原创 【halcon】示例(2)——多通道图像进行分类

涉及learn_ndim_norm 、class_ndim_norm 的使用,功能是对简单的多通道图像进行分类。选取多通道图片的感兴趣区域与背景可以对多通道图片进行快速分类。 *读入图片 read_image (Image, 'ic') *得到图片大小 get_image...

2020-05-12 14:54:45 83 0

原创 【halcon】示例(1)——高速公路车道识别

示例:告诉公路车道识别程序 *关闭halcon窗口的实时更新 dev_update_window ('off') *关闭halcon图形窗口 dev_close_window () *打开图形窗口 *dev_open_window (窗口起始坐标Y, 窗口起始坐标X, ...

2020-05-12 14:32:12 66 0

原创 【halcon】halcon的注释快捷键

1、快捷键注释: 单行注释:直接将鼠标移动到当前行最开始的位置,然后按ctrl+* 多行注释:选中所有代码再按F4 2、工具栏选中注释 选中代码并点击红圈中带红叉的即可,撤销注释选中带勾的即可 ...

2020-05-12 13:24:11 62 0

原创 【C和指针】第一个例程

《C和指针》的第一个例子,从标准输入中读入输入文本,修改文本以后写到标准输出中。先读取一串成对出现的标号,表示输入的字符范围,以负数结尾表示结束。文本中在标号的范围内的内容被提取出来,然后写回到标准输出中。 代码如下: #include <stdio.h> #include &l...

2020-05-11 22:50:18 54 0

原创 C++11 emplace_back和push_back的区别

push_back voidpush_back(constT&value); voidpush_back( T&value); (C++11 起) 后附给定元素value到容器尾。 1)初始化新元素为value的副本。 2)移动value进新元素。 若...

2020-05-11 16:33:53 37 0

原创 【git】push成功以后怎么回退版本

第一步、查看每次commit的编号 第二步、本地版本回退 跟着的就是想要回退到的commit编号,之后的commit内容作废,注意 --hard 参数会抛弃当前工作区的修改,使用 --soft 参数的话会回退到之前的版本,但是保留本地工作区的修改,可以重新提交。 第三步、同步到远端 ...

2020-05-07 15:00:18 91 0

原创 【git】git切换远程分支失败

切换分支遇到的错误: git branch -a #查看所有分支 git checkout origin/test #切换远程分支 现在显示处于origin/test分支上,但是本地的代码并没有和origin/test分支同步! 原因 本地分支没有和远程分支同步 解决 git checkout t...

2020-04-25 17:48:05 136 0

原创 VS2017安装Image Watch插件

原文:https://blog.csdn.net/u011574296/article/details/73286820 在VS中用OpenCV进行开发时,调试经常需要去查看当前图像的内容(图像大小,通道数,鼠标所指像元在图像中的行列数和像素值),介绍一个配合VS使用的OpenCV开发神器——Im...

2020-04-25 10:39:43 70 0

原创 解决VS调试错误:直接运行exe文件与VS调试运行的区别以及导致的问题

通过VS打开已经创建好的工程,工程目录信息如下所示。 Debug文件夹如下图所示,注意其中包括很多本地配置文件,exe文件也在其中。 问题描述 直接运行exe文件,可以正常读取配置文件,程序运行正常。 在VS中直接运行调试,读取不到本地配置,调试中断 原因 调试运行的工作目录是有后缀v...

2020-04-25 10:25:37 398 0

原创 C++描述的数据结构和算法(一)

在程序开发过程中通常需要做到如下两点:一是高效地描述数据;二是设计一个好的算法,该算法最终可用程序来实现。 应该重点关注的C++特性: 参数传递方式(如传值、引用和常量引用)。 函数返回方式(如返值、引用和常量引用)。 模板函数。 递归函数。 常量函数。 内存分配和释放函数:new与...

2020-04-09 14:15:47 59 0

原创 explicit(显式)关键字

explicit 修饰构造函数时,可以防止隐式转换和复制初始化。 explicit 修饰转换函数时,可以防止隐式转换,但按语境转换除外。 explicit 使用 struct A { A(int) { } operator bool() const { return true...

2020-04-08 16:13:28 60 0

原创 联合(union)总结

联合(union)是一种节省空间的特殊的类,一个union可以有多个数据成员,但是在任意时刻只有一个数据成员可以有值。当某个成员被赋值后其他成员变为未定义状态。联合有如下特点: 默认访问控制符为 public 可以含有构造函数、析构函数 不能含有引用类型的成员 不能继承自其他类,不...

2020-04-08 16:04:29 31 0

原创 位运算总结与应用

一、求下面函数的返回值 int func(x) { int count = 0; while(x) { count++; x = x&(x-1); } return count; } 功能:将x转化为...

2020-04-07 19:39:33 41 0

原创 Qt的工程组织-.pro、.pri、.prf、.prl

尽管每次和cmake对比起来,我们总是说 qmake 简单、功能少。但是qmake仍然是一个非常复杂的东西,我想大多人应该和我一样吧: 不是太清楚CONFIG等变量到底如何起作用的 用过的qmake内置变量和函数不超过20个 看Qt Creator源码或者QtSolution等库中自己...

2020-04-07 17:29:01 38 0

原创 为Qt工程添加资源文件并使用

1. 创建工程 2. 添加新文件(Qt-Qt Resource File) 3. 为资源文件添加前缀 4. 为前缀添加现有资源文件 5. 为.pro文件指定现在的资源文件 6. 引用资源文件 ...

2020-04-06 19:26:02 106 0

原创 Qt Designer的工作原理

Qt的设计初衷就是为了能够直观并且友好地进行手工编码,对于程序员来说,纯粹通过编写C++源代码来开发整个Qt应用程序并不稀奇。尽管如此,许多程序员还是喜欢使用可视化的方法来设计窗体,因为他们发现使用可视化方式会比手工编码显得更自然、更快速,并且也希望能够通过可视化方法,对那些手工编码所设计的窗体,...

2020-04-06 15:02:02 64 0

原创 Qt的元对象系统

Qt的主要成就之一就是使用了一种机制对C++进行了扩展,并且使用这种机制创建了独立的软件组件。这些组件可以绑定在一起,但任一个组件对于它所要连的组件的情况事先都一无所知。 这种机制称为元对象系统(mate-object system),它提供了关键的两项技术:信号槽以及内省(introspect...

2020-04-06 13:49:43 48 0

原创 tortoisegit错误:"Disconnected no supported authentication methods available(server sent: publickey)"

重新设置tortoise git的ssh客户端:

2020-04-06 12:10:17 27 0

原创 【opencv】 使用at和ptr指针访问像素的区别

mat.at<int>( i ); 整型数组问中的元素 i mat.at<float>( i,j ); 浮点型数组附中的元素(i, j) mat.at<int>( pt ) 整型矩阵问中处于 (pt.x,pt.y) 的元素 mat.at<float>...

2020-01-06 18:20:12 459 0

原创 基于平均背景模板训练法的移动前景提取算法研究与实现(C++)

平均法是一种简单的通过学习得到背景像素的均值和方差(或者平均差代替方差)作为背景的模型的前景提取方法。考虑一个像素行,可以使用在整个视频序列中各个像素的均值和平均差来描述该像素行的行为(稳定程度)。可以想象,在整个序列中,像素的灰度值没有变动或者变动在一个很小范围内(人为确定这个范围)的话,就可以...

2019-12-19 17:01:08 37 0

原创 基于帧间差分法的前景提取的实现(C++)

一种最简单的前景(移动区域)提取方怯就是一帧(或之后的几帧)减去另 一帧,然后将“足够不同”的地方标为前景。这个过程会捕捉到移动物体的边缘。简单起见,我们考虑三个单通道图片frameTime1,frameTime2和frameForeground 。图片frameTime1是过去的一张灰度图片,f...

2019-12-19 14:36:50 69 0

原创 opencv源码阅读:K均值聚类算法接口kmeans()

// 输入:_data图像,K:聚类中心数(类别数量) // labels:类别矩阵 doublecv::kmeans( InputArray_data, intK, InputOutputArray_bestLabels, TermCriteriacriteria, intattempt...

2019-12-18 11:07:51 50 0

原创 Mat::isContinuous()接口

这里的continue的意思是在内存上continue,正常情况下,头一行的末尾在内存里和下一行的开头是相连的,但是有时候我们做了一些操作,选取了Mat 的一部分,例如选了一个ROI 这时候就不满足上面说的相连了。那么这时候continuous就被判定为假。 ...

2019-12-18 10:43:20 43 0

原创 Mat的数据类型总结

S--代表---signed int---有符号整形 U--代表--unsigned int--无符号整形 F--代表--float---------单精度浮点型

2019-12-18 10:28:10 27 0

原创 Mat的各种参数

data:Mat对象中的一个指针,指向内存中存放矩阵数据的一块内存 (uchar* data)。 dims:Mat所代表的矩阵的维度,如 3 * 4 的矩阵为 2 维, 3 * 4 * 5 的为3维。 channels:通道,矩阵中的每一个矩阵元素拥有的值的个数,比如说 3 * 4 矩阵中一共 1...

2019-12-18 10:21:09 85 0

转载 opencv双目相机标定相关

stereoCalibrate() stereoCalibrate()是用来标定一个立体摄像头的,也就是同时标定两个摄像头。标定的结果除了能够求出两个摄像头的内外参数矩阵,跟能够得出两个摄像头的位置关系R,T。 double stereoCalibrate(InputArrayOfArrays...

2019-12-07 09:32:52 68 0

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