自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

为他种太阳的博客

一只暖暖的孩子

  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 const_cast运算符(仅限C++)

const_cast操作符详解

2022-03-16 17:28:44 1018

原创 linux echo [-ne]命令的两个参数

echo -necho -n 不换行输出echo -n "1234"echo "5678"最终输出12345678而不是12345678echo -eecho -e处理特殊字符若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:字符 含义\a发出警告声;\b删除前一个字符;\c最后不加上换行符号;\f换行但光标仍旧停留在原来的位置;\n换行且光标移至行首;\r光标移至行首,但不换行;\t插入tab

2021-07-21 20:51:27 1779

原创 c++ 中class与struct

在C++中,class与struct非常相似,来说说他们之间的相同点以及不同点。class和struct,从声明到使用基本相同,语法相当相似。(1) 结构体和类一样,可以有成员变量,可以有成员函数,也可以定义public、private、protected数据成员。(2)结构体中可以从别的结构体继承,也可以被别的结构体继承,可以有虚函数。(3)结构体定义之后,可以像类一样用结构体名来创建对象。c++中calss与struct也有些不同之处。(1) class 的成员默认都是 private

2021-07-20 20:57:32 418

原创 Android Debug Bridge(adb)

概述Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。服务器:用于管理客户端与守护程序之间的通信。服务器在

2021-07-15 14:26:42 730

原创 容器的cbegin()、crbegin()、crend()和cend()函数

容器的iterator概述访问顺序容器和关联容器中的元素,需要通过“迭代器(iterator)”进行。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。迭代器可以指向容器中的某个元素,通过迭代器就可以读写它指向的元素。从这一点上看,迭代器和指针类似。命名规则以vector 为例子,说明命名规则:类型方法修饰正向迭代器vector::iterator itervector反向迭代器vector::reverse_iterator rever_itervect

2021-07-08 21:11:43 619

原创 断言(assert)

运行时断言断言(assertion)是一种编程中常用的手段。在通常情况下,断言就是将一个返回值总是需要为真的判别式放在语句中,用于排除在设计的逻辑上不应该产生的情况。比如一个函数总需要输入在一定的范围内的参数,那么程序员就可以对该参数使用断言,以迫使在该参数发生异常的时候程序退出,从而避免程序陷入逻辑的混乱。从一些意义上讲,断言并不是正常程序所必需的,不过对于程序调试来说,通常断言能够帮助程序开发者快速定位那些违反了某些前提条件的程序错误。在 C++ 中,标准在 或 <assert.h> 头

2021-07-07 20:38:15 10405

原创 比较前n个字符串函数strncasecmp()

定义函数int strncasecmp (const char *s1, const char *s2, size_t count);概述C语言中判断字符串指定长度是否相等的函数,忽略大小写。s1和s2中的所有字母字符在比较之前都转换为小写。该strncasecmp()函数对空终止字符串进行操作。函数的字符串参数应包含一个(’\0’)标记字符串结尾的空字符。头文件#include<string.h>返回值值意义小于0s1 小于s20s1 等于s2

2021-07-07 10:16:59 684

原创 strcasecmp()函数

定义函数int strcasecmp (const char *s1, const char *s2);概述C语言中判断字符串是否相等的函数,忽略大小写。s1和s2中的所有字母字符在比较之前都转换为小写。该strcasecmp()函数对空终止字符串进行操作。函数的字符串参数应包含一个(’\0’)标记字符串结尾的空字符。头文件#include<string.h>返回值值意义小于0s1 小于s20s1 等于s2大于0s1大于s2例子#in

2021-07-06 11:11:34 23067

原创 long long整型

C++11新引入了long long整型,事实上,C99已经支持了long long整型。并且,C++11 标 准 要 求 longlong 整型可以在不同平台上有不同的长度,但至少有 64 位。分类long long 整 型 有 两 种 :long long 和 unsigned long long。在 C++11 中,还有很多与 long long 等价的类型。比如对于有符号的,下面的类型是等价的 :long long、signed long long、long long int、signed l

2021-07-05 20:49:00 2414

原创 C++11新特性之“=delete“

#C++11新特性之"=delete"删除函数声明是 C++11 标准中引入的一种新形式的函数声明。要将函数声明为已删除的函数,您可以附加**=delete**;该函数声明末尾的说明符。编译器禁用已删除函数的使用。如果您想阻止其使用,您可以将隐式定义的函数声明为已删除的函数。例如,您可以将类的隐式定义的复制赋值运算符和复制构造函数声明为已删除函数,以防止该类的对象复制。class A{ public: A(int x) : m(x) {} A& operator = (const

2021-07-02 17:32:58 1043

原创 C++11新增关键字

#C++11新增关键字C++11 的新关键字如下关键字解释备注alignas新增alignof decltype新增auto重新定义static_assert新增using重新定义noexcept新增export弃用nullptr新增constexpr新增thread_local新增...

2021-07-01 16:13:50 219

原创 《Linux基础学习》——重要的热键

《Linux基础学习》——重要的热键[Tab]键中文键盘标有“Tab”“制表符”,也就是大写锁定上面那个键。在各种UNIX衍生系统中的Shell中,这个[Tab]键是Linux的Bash shell最受欢迎的功能之一了。它具备命令补齐和文件补齐功能,在不同地方输入会有不同效果。输入命令相关时,比如在终端输入cd+[Tab]:接着显示了以cd开头的所有命令。当我们输入目录相关时:[Ctrl]-c键Ubuntu终端输入一些命令时,有时候会一直运行,比如界面一直打印log,这时侯我们要终止这个进

2021-06-28 21:12:12 98

原创 学习笔记(01):数据结构基础系列(6):树和二叉树-树的基本概念

数据结构课程是计算机类专业的专业基础课程,在IT人才培养中,起着重要的作用。课程按照大学计算机类专业课程大纲的要求,安排教学内容,满足需要系统学习数据结构的人。系列课程包含11个部分,本课为第6部分“树和二叉树”,介绍树的相关概念和表示方法,重点是二叉事的性质、存储结构、遍历等基本操作的实现,以及应用基本操作解决问题的方法。...

2020-02-22 23:01:54 190

转载 OPenCV学习教程之Canny 边缘检测

目标本文档尝试解答如下问题:使用OpenCV函数 Canny 检测边缘.原理Canny 边缘检测算法 是 John F. Canny 于 1986年开发出来的一个多级边缘检测算法,也被很多人认为是边缘检测的 最优算法, 最优边缘检测的三个主要评价标准是:低错误率: 标识出尽可能多的实际边缘,同时尽可能的减少噪声产生的误报。高定位性: 标识出的边缘要与图像中的实际边缘尽可能接近。最小...

2019-09-11 20:26:12 214

转载 OpenCV学习教程之Laplace 算子

目标本文档尝试解答如下问题:如何使用OpenCV函数 Laplacian 实现 Laplacian 算子 的离散模拟。原理前一节我们学习了 Sobel 算子,其基础来自于一个事实,即在边缘部分,像素值出现”跳跃“或者较大的变化。如果在此边缘部分求取一阶导数,你会看到极值的出现。正如下图所示:如果在边缘部分求二阶导数会出现什么情况?你会发现在一阶导数的极值位置,二阶导数为0...

2019-09-11 19:00:25 384

转载 OpenCV学习教程之Sobel导数

目标本文档尝试解答如下问题:如何使用OpenCV函数 Sobel 对图像求导。如何使用OpenCV函数 Scharr 更准确地计算 3 \times 3 核的导数。原理Note 以下内容来自于Bradski和Kaehler的大作: Learning OpenCV .上面两节我们已经学习了卷积操作。一个最重要的卷积运算就是导数的计算(或者近似计算).为什么对图像进行求导是重要的呢...

2019-09-11 18:54:12 393

转载 OpenCV学习教程之给图像添加边界

目标本文档尝试解答如下问题:如何使用OpenCV函数 copyMakeBorder 设置边界(添加额外的边界)。TheoryNote 以下内容来自于Bradski和Kaehler的大作 Learning OpenCV 。前一节我们学习了图像的卷积操作。一个很自然的问题是如何处理卷积边缘。当卷积点在图像边界时会发生什么,如何处理这个问题?大多数用到卷积操作的OpenCV函数都...

2019-09-11 15:42:50 564

转载 OppenCV学习教程之实现自己的滤波器

目的本篇教程中,我们将学到:用OpenCV函数 filter2D 创建自己的线性滤波器。原理Note 以下解释节选自Bradski and Kaehler所著 Learning OpenCV 。卷积高度概括地说,卷积是在每一个图像块与某个算子(核)之间进行的运算。核是什么?核说白了就是一个固定大小的数值数组。该数组带有一个 锚点 ,一般位于数组中央。如何用核实现卷积?假如你想...

2019-09-11 15:02:18 273

转载 OpenCV教程之基本的阈值操作

目标本节简介:OpenCV中的阈值(threshold)函数: threshold 的运用。基本理论注意:本节的解释出自Bradski与Kaehler的书籍 Learning OpenCV 。什么是阈值?最简单的图像分割的方法。应用举例:从一副图像中利用阈值分割出我们需要的物体部分(当然这里的物体可以是一部分或者整体)。这样的图像分割方法是基于图像中物体与背景之间的灰度差异,而且...

2019-09-11 10:16:31 513

转载 OpenCV学习教程之图像金字塔

目标本文档尝试解答如下问题:如何使用OpenCV函数 pyrUp 和 pyrDown 对图像进行向上和向下采样。原理Note 以下内容来自于Bradski和Kaehler的大作: Learning OpenCV 。当我们需要将图像转换到另一个尺寸的时候, 有两种可能:1、放大 图像 或者2、缩小 图像。尽管OpenCV 几何变换 部分提供了一个真正意义上的图像缩放函数(res...

2019-09-10 16:46:07 159

转载 OpenCV学习教程之形态学操作

目标本文尝试解答如下问题:如何使用OpenCV函数 morphologyEx 进行形态学操作:开运算 (Opening)闭运算 (Closing)形态梯度 (Morphological Gradient)顶帽 (Top Hat)黑帽(Black Hat)原理Note :以下内容来自于Bradski和Kaehler的大作 Learning OpenCV 。前一我们讨论了两种最...

2019-09-10 16:30:38 323

转载 OpenCV学习教程之腐蚀与膨胀

目标如何使用OpenCV提供的两种最基本的形态学操作,腐蚀与膨胀( Erosion 与 Dilation)erodedilate原理内容来自于Bradski和Kaehler的大作: Learning OpenCV .形态学操作简单来讲,形态学操作就是基于形状的一系列图像处理操作。通过将 结构元素 作用于输入图像来产生输出图像。最基本的形态学操作有二:腐蚀与膨胀(Eros...

2019-09-09 23:01:13 572

原创 OpenCV入门教程之putText函数

opencv除了各种绘制图形的函数之外,还有在图像上绘制文字的函数–putText函数。函数原型void putText( Mat& img, const string& text, Point orgin, int fontFace,double fontScale, Scalar color, int thickness=1, int lineType=8, );参数...

2019-09-09 22:38:47 2884

转载 OpenCV学习教程之图像平滑处理

目标本教程教您怎样使用各种线性滤波器对图像进行平滑处理,相关OpenCV函数如下:blurGaussianBlurmedianBlurbilateralFilter原理平滑 也称 模糊, 是一项简单且使用频率很高的图像处理方法。平滑处理的用途有很多, 但是在本教程中我们仅仅关注它减少噪声的功用 (其他用途在以后的教程中会接触到)。平滑处理时需要用到一个 滤波器 。 最常用的...

2019-09-09 19:45:44 1354

转载 自学opencv建议

作为计算机视觉的开源库,OpenCV强大而实用,下面分享一下我学OpenCV的经验。

2019-09-06 11:32:07 895

转载 opencv 视觉项目学习笔记(二): 基于 svm 和 knn 车牌识别

车牌识别的属于常见的 模式识别 ,其基本流程为下面三个步骤:(1)分割: 检测并检测图像中感兴趣区域;(2)特征提取: 对字符图像集中的每个部分进行提取;(3)分类: 判断图像快是不是车牌或者 每个车牌字符的分类。车牌识别分为两个步骤, 车牌检测, 车牌识别, 都属于模式识别。

2019-09-06 11:11:38 1332

转载 opencv3入门学习--基本函数介绍

滤波blur (均值滤波)均值滤波是典型的线性滤波算法, 主要方法为领域平均法(即用一片图像区域的各个像素的平均值来代替原图像中的各个像素值)缺点: 不能很好的保护图像细节, 在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊。函数原型:void blur(InputArray src, OutputArrary dst, Size ksize , Point anchor=Po...

2019-09-06 10:51:24 187

原创 VS报错【C4996】This function or variable may be unsafe. Consider using fopen_s instead.

楼主最近在学习图像处理,所用平台为VS2017+opencv3.2.0。调试程序时,报错如下:This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for det...

2019-09-05 17:50:23 1647

原创 MATLAB2018b--双目标定

一、标定步骤**调用工具箱在matlab命令界面输入stereoCameraCalibrator,弹出界面如下:加载图像点击菜单栏里“Add Images”图标弹出窗口:分别选择存放左右两个摄像机图片的文件夹,“Size of checheckerboard square”为棋盘格图案的边长大小,博主这为35mm.点击确定即可。设置选项将菜单栏上面的“Skew”、...

2019-07-15 15:25:42 1327

原创 MATLAB--whos用法

whos用于列出当前工作空间中所有变量,以及它们的名字、尺寸(比如数组的行列维数)、所占字节数、属性等信息。这些信息都显示在工作空间窗口中。随便加载一个程序,调用whos,结果如下:...

2019-07-12 14:42:40 13345

原创 SublimeText for Mac 安装步骤

**Sublimetext for Mac 安装步骤**下载Sublime text3 for mac是一款值得推荐的文本编辑器,适合入门级别的学习者。首先登录sublimetext的官网:http://www.sublimetext.com。首页如图所示,直接点击DOWNLOAD FOR MAC开始下载。安装单击文件Sublime Text Build 3176.dmg后...

2018-10-13 11:15:39 11942 2

安装OpenCV缺失文件boostdesc_bgm.i等.zip

安装OpenCV时缺失文件boostdesc_bgm.i等文件,内附有操作步骤,资源寻找不易,帮助挺大,因此免费分享给大家。

2020-05-26

空空如也

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

TA关注的人

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