自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (3)
  • 收藏
  • 关注

转载 浅谈 C++ 中的 new/delete 和 new[]/delete[]

转载:浅谈 C++ 中的 new/delete 和 new[]/delete[]在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢?new 和 delete 是函数吗?new [] 和 delete [] 又是什么?什么时候用它们?你知道 operator new 和 operator delete 吗?为什么 new [] 出来的...

2019-05-27 15:37:03 201 1

原创 VS上建立QT项目出现的头文件QtWidgets/QApplication标红问题

此文仅仅是针对自己遇到的情况,开始没有头文件<QtWidgets/QApplication>,应在项目->属性->C++->常规->附加包含目录中添加QT生成的include文件。对于ui.h文件标红的问题,首先在工具->扩展和更新->联机处搜索QT,下载并安装QT VS Tools,然后点击下图中红圈位置,再编译,应该就成功了。...

2019-05-18 09:15:06 8530 3

转载 C++Primer 14章

//14.2#pragma once#include <iostream>#include <string>// added overloaded input, output, addition, and compound-assignment operatorsclass Sales_data { friend std::istream& oper...

2019-05-13 15:11:57 280

转载 uninitialized_copy警告性问题

转载:std::uninitialized_copy::_Unchecked_iterators::_Deprecateerror C4996: 'std::uninitialized_copy::_Unchecked_iterators::_Deprecate': Call to 'std::uninitialized_copy' with parameters that may be u...

2019-05-09 14:36:27 618

原创 C++Primer第十三章习题答案

//13.8HasPtr& operator= (const Hasptr& HP){ string *p = new string(*HP.ps);//new返回的是指向分配好内存、创建了对象的指针 delete ps;//销毁原string ps = p; //指向新的string i = HP.i; return *this...

2019-05-08 15:14:35 502

原创 C++Primer 第十二章编程题答案

//12.2#pragma once#include<vector>#include<string>#include<initializer_list>#include<memory>#include<stdexcept>using namespace std;class StrBlob{public: typ...

2019-05-03 20:50:54 172

转载 const的用法,特别是用在函数前面与后面的区别!

转:const的用法,特别是用在函数前面与后面的区别!const的用法,特别是用在函数后面在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但不能改变 this所保存的地址。在 const成员函数中,this的类型是一个指向 const类类型对象的 const指针。既不能改变 this所指向的对象,也不能改变 th...

2019-04-26 09:36:02 125

原创 C++ Primer 第十一章编程答案

//11.3#include<iostream>#include<fstream>#include<string>#include<map>using namespace std;int main(int argc,char *argv[]){ ifstream in(argv[1]); if (!in) cerr &lt...

2019-04-24 16:42:11 192

原创 C++Primer 第十章课后编程题

//10.1#include<iostream>#include<algorithm>#include<vector>using namespace std;int main(){ vector<int> vec = { 1,1,1,2,3,4,5,6,6,7,7,8 }; unsigned cont = 0; cont = ...

2019-04-22 11:15:30 231

转载 链表中LinkList L与LinkList *L的区别

转:链表中LinkList L与LinkList *L的区别typedef struct Node{int elem;struct node * next;}node,*LinkList;对于LinkList L: L是指向定义的node结构体的指针,可以用->运算符来访问结构体成员,即L->elem,而(*L)就是个Node型的结构体了,可以用点运算符访问该结构体成员...

2019-04-17 19:57:11 575 1

原创 C++Primer 第九章课后编程题答案

//9.4#include<iostream>#include<vector>using namespace std;//查找给定值bool find_val(vector<int>::iterator beg1, vector<int>::iterator end1, int vec){ while (beg1 != end1)...

2019-04-17 19:53:06 180

原创 C++ Primer第八章答案

//8.1#include<iostream>#include<stdexcept>using namespace std;istream &f(istream & in){ int file; while (in>>file, !in.eof())//直到文件结束符才停止读取 { if (in.bad()) thr...

2019-04-11 14:59:46 279

转载 main函数命令行参数的使用

转自:main函数命令行参数的使用总览一个程序的main()函数的可以包括两个参数第一个参数的类型为int型;第二个参数为字符串数组。通常情况下,将第一个参数命名为argc,第二个参数为argv(当然参数名字可以换)。由于字符串数组有两种表达方式,因此,main函数存在两种书写方法:形式一:int main(int argc, char* argv[])//这里使用char...

2019-04-11 09:51:52 573

转载 TSP(路径规划,最短路径问题)

转载:动态规划解决TSP(旅行推销员问题)TSP问题(Travelling Salesman Problem)又译为旅行推销员问题、货郎担问题,即假设有一个旅行商人要拜访n个城市,从某个城市出发,每个城市只能访问一次且最后回到出发城市,问该推销员应如何选择路线,才能使总的行程最短?使用动态规划解决该问题的策略为:易知从哪个城市出发其最短路径都是一样的,故假设从城市1出发。假设已经经过了...

2019-04-02 20:12:35 10819 2

转载 C++泛型算法常用函数

转自:C++常用泛型算法td中定义了很好几种顺序容器,它们自身也提供了一些操作,但是还有很多算法,容器本身没有提供。 而在algorithm头文件中,提供了许多算法,适用了大多数顺序容器。与c++11相比,很多函数在 c++17与c++20又改变了很多,下面内容基于c++11去简单介绍.参考文献:https://en.cppreference.com或https://zh.cppref...

2019-04-02 11:19:39 206

转载 Harris角点检测算法及代码及相关卷积

转自:imfilter函数1 imfilter函数简介函数名称:imfilter函数语法:g=imfilter(f,w,filtering_mode,boundary_options,size_optinos)函数功能:对任意类型数组或多维图像进行滤波参数介绍:f是输入图像,w为滤波模板,g为滤波结果;表1-1总结了其他参数的含义。表1-1 imfilter函数的选项...

2019-04-01 20:41:03 2109

转载 特征值特征向量物理意义

转自:特征值与特征向量今天,超模君看到了一句神翻译:吓得超模君马上放下手中的苹果手机,来码字了!之前有模友说想知道矩阵的特征值和特征向量的意义,那超模君就写写它们吧。1特征值和特征向量的由来超模君:特征值和特征向量是怎么来的呢?小天:我知道来自哪里!请看下图:(deng~deng~deng~deng)算是回答对一半吧!谈到线性代数课本里面的一些概念,比如行列式、...

2019-04-01 19:32:11 700

转载 Harris角点检测原理分析

转自:Harris角点检测原理分析Harris角点检测算子是于1988年由CHris Harris & Mike Stephens提出来的。在具体展开之前,不得不提一下Moravec早在1981就提出来的Moravec角点检测算子。1.Moravec角点检测算子Moravec角点检测算子的思想其实特别简单,在图像上取一个W*W的“滑动窗口”,不断的移动这个窗口并检...

2019-04-01 16:22:14 1413

转载 图像处理细化算法

转自:OpenCV学习(13) 细化算法(1)程序编码参考经典的细化或者骨架算法文章:T. Y. Zhang and C. Y. Suen, “A fast parallel algorithm for thinning digital patterns,” Comm. ACM, vol. 27, no. 3, pp. 236-239, 1984.它的原理也很简单: 我们...

2019-03-31 10:20:01 7905

转载 matlab的bwmorph()函数

转自:Matlab函数bwmorph简介 图像处理函数功能: 对二值图像进行数学形态学(Mathematical Morphology)运算。  语法格式:  BW2 = bwmorph(BW,operation)  对二值图像进行指定的形态学处理。  BW2 = bwmorph(BW,operation,n)  对二值图像进行n次指定的形态学处理。 n可以是Inf(无穷大),这意味...

2019-03-30 14:36:52 4380

转载 MATLAB的roipoly函数

转自: roipoly函数的用法roipoly函数选择感兴趣的多边形区域。BW = roipoly(I, c, r)c,r分别指每个顶点的列和行下标。选中的区域BW为1;反之,为0。举例:I = imread('eight.tif');c = [222 272 300 270 221 194];r = [21 21 7...

2019-03-30 14:22:11 10502 1

转载 Matlab图像处理函数:regionprops

转自:Matlab图像处理函数:regionprops这里给出在Matlab图像处理工具箱中非常重要的一个图像分析函数:regionprops。顾名思义:它的用途是getthepropertiesofregion,即用来度量图像区域属性的函数。语法STATS=regionprops(L,properties)描述测量标注矩阵L中每一个标注区域的一系列属性。L中不同的...

2019-03-29 16:33:15 940 1

转载 Matlab中的bwlabel函数

转自:matlab中的bwlabel函数用法:L = bwlabel(BW,n)返回一个和BW大小相同的L矩阵,包含了标记了BW中每个连通区域的类别标签,这些标签的值为1、2、num(连通区域的个数)。n的值为4或8,表示是按4连通寻找区域,还是8连通寻找,默认为8。4连通或8连通是图像处理里的基本感念:而8连通,是说一个像素,如果和其他像素在上、下、左、右、左...

2019-03-29 10:35:54 1397

转载 iterator与const_iterator及const iterator区别

转自:iterator与const_iterator及const iterator区别如果你传递过来一个const类型的容器,那么只能用const_iterator来遍历。void Method(const vector<int> vInt){ vector<int>::const_iterator iter;}简单示例vector<int...

2019-03-18 20:40:51 176

转载 C++中的getline()函数

转自:C++的getline()函数getline()函数是一个比较常见的函数。根据名字直接望文生义,就知道这个函数是来完成读入一行数据。下面就对C++ -- getline()函数的用法说明,以及getline()函数作为while条件的问题,总结一下:在C++中本质上有两种getline函数:第一种:在头文件<istream>中,是iostream类的成员函数。...

2019-03-18 20:15:51 391

转载 cin.ignore()的用法

转:cin.ignore的用法cin.ignore的使用

2019-03-16 21:09:34 125

转载 C++的标准异常库<stdexcept>

C++的标准异常库&lt;stdexcept&gt;

2019-03-15 21:55:37 448

转载 Canny边缘检测

转:Canny边缘检测Canny边缘检测是一种非常流行的边缘检测算法,是John Canny在1986年提出的。它是一个多阶段的算法,即由多个步骤构成。1.图像降噪2.计算图像梯度3.非极大值抑制4.阈值筛选我们就事后诸葛亮,分析下这个步骤的缘由。首先,图像降噪。我们知道梯度算子可以用于增强图像,本质上是通过增强边缘轮廓来实现的,也就是说是可以检测到边缘的。但是,它们受...

2019-03-08 09:50:00 332

转载 图像的边缘检测

转:图像的边缘检测我们先看几幅简单的图像:这3幅图像,都只有极其简单的线条,组成了物体的轮廓,我们“人”一看就知道是什么物体。也就是说,我们人类视觉通过物体边缘就能够做到识别物体。因此,物体边缘是图像中最基本也是最重要的特征,图像识别、理解的第一步就是边缘检测。那么,什么是边缘呢?很遗憾,尽管边缘在图像处理中有着极其重要的作用,但好像并没有严格精确的定义。一般认为:两个具有不同灰度...

2019-03-08 09:46:55 287

转载 图像的颜色是什么

转:图像的颜色是什么我们都知道图像是有颜色的,最常见的颜色表达方式就是RGB,Red(红)、Green(绿)、蓝(Blue),也就是常说的三通道(channel)或者三分量。那么到底什么是颜色呢?有人会说我们看到的物体呈现的红、橙、黄、绿、蓝、紫就是颜色啊。那我们进一步问?为什么晚上在房间里什么颜色都看不见,桌子上的水果盘中,苹果没有呈现出红色,桔子也没有呈现出橙色啊?答案得从物理世界...

2019-03-08 09:42:40 306

转载 图像的位操作的作用

转:图像的位操作的作用我们在看优酷视频时,经常会发现视频右上角上有“优酷”的字样。例如:实际上我们可以把视频看作一幅幅的图像,在每幅图像中,我们把“优酷”这个图标加上去。于是一个很自然的想法就是图像相加。由于图像相加需要2幅图像有相同的大小,因为图像就是矩阵,同维度的矩阵才能相加。于是先生成一副有“优酷”字样的黑色背景的图像,让其与每幅图像进行相加。import cv2...

2019-03-08 09:40:49 331

转载 选择图像的感兴趣区域

转:选择图像中的感兴趣区域我们在前面的文章《图像的颜色选择》中提到,如下的行车图像,要提取黄色和白色的车道线,通过颜色选择,分别得到了黄颜色的区域和白颜色的区域。下图分别是原始行车图像,白颜色位置图像,黄颜色位置图像:我们可以用前面提到的《图像位操作》将白颜色位置和黄颜色位置叠加起来。这里就用到了bitwise_or的位操作。import cv2white = c...

2019-03-08 09:35:47 561

转载 “图像的颜色选择”的使用

转:图像的颜色选择的使用我们来看一个简单的需求,比如说下面这幅图像:这是一幅公路上的行车图像,假如我们想把车道线提取出来,该怎么办呢?我们观察,发现车道线是黄色的或者白色的。那么我们想到的是可以把行车图像中的黄色颜色和白色颜色提取出来。我们知道,在RGB颜色模式中,白色是[255,255,255],黄色是[255,255,0]。但是行车图像中的白色和黄色可不完全是纯白色和纯黄色。...

2019-03-08 09:31:27 353

转载 为什么引入齐次坐标

转:为什么引入齐次坐标前面我们提到了图像的缩放变换和旋转变换,可以用矩阵乘法的形式来表达变换后的像素位置映射关系。那么,对于平移变换呢?平移变换表示的是位置变化的概念。如下图所示,一个图像矩形从中心点[x1,y1]平移到了中心点[x2,y2]处,整体大小和角度都没有变化。在x方向和y方向上分别平移了tx和ty大小。显然:这对于图像中的每一个点都是成立的。写成矩阵的形式就是:...

2019-03-08 09:27:25 475

转载 图像旋转变换的推导

转:图像旋转变换的推导前面我们提到了图像的缩放变换,可以用矩阵乘法的形式来表达变换后的像素位置映射关系。那么,对于旋转变换呢?我们可以同样将其想象成二维平面上矢量的旋转。如下图所示,矢量[x1,y1]逆时针旋转θθ度到了[x2,y2]。设定矢量的长度为s,根据坐标系定义,我们可以得到:根据上面的图形,有:因此:根据初中所学的三角函数公式:于是...

2019-03-08 09:23:34 1059

转载 图像的缩放变换

转:图像的缩放变换在日常工作中,我们经常需要对图像进行缩放(放大、缩小),旋转、平移等各种操作,这类操作统称为图像的几何变换。相对于前面提到的灰度变换,几何变换是改变了原图像像素点在新图像中的空间位置。我们首先来看看图像缩放操作。假设一幅图像是100×100像素大小,放大一倍后是200×200大小。图像中的每一个像素点位置可以看作是一个点,也可以看作是二维平面上的一个矢量。图像缩放,本质上...

2019-03-08 09:17:54 1284

转载 图像增强之对比度拉伸

转:图像增强至对比度拉伸我们前面提到过图像二值化,图像反转,本质上是对图像的所有像素点的灰度进行操作,属于灰度变换的内容。灰度变换的主要目的是用于图像增强。而对比度拉伸是图像增强的一种方法,也属于灰度变换操作。我们看如下图像:可以看到,这张图片非常灰暗。我们查看下其直方图。import cv2import matplotlib.pyplot as pltfarina ...

2019-03-08 09:14:11 1752

转载 彩色图像转灰度图像

转:彩色图像转灰度图像我们日常的环境通常获得的是彩色图像,很多时候我们常常需要将彩色图像转换成灰度图像。也就是3个通道(RGB)转换成1个通道。(1)平均法最简单的方法当然就是平均法,将同一个像素位置3个通道RGB的值进行平均。I(x,y) = 1/3 * I_R(x,y) +1/3 * I_G(x,y)+ 1/3 * I_B(x,y)原始图像:import cv2i...

2019-03-07 20:25:35 447

转载 微分算子为什么也是空间滤波器

转:微分算子为什么也是空间滤波器前面我们提到,可以用一阶微分算子和二阶微分算子来增强图像,由于是增强了图像中的物体边缘轮廓,起到了锐化图像的效果,因此这些算子操作可用于图像锐化。我们在前面的图像模糊中,介绍了使用平滑空间滤波器来模糊图像,那么用微分算子来锐化图像能不能也使用空间滤波器的形式呢?我们分别选一个一阶微分算子和一个二阶微分算子作为示例:Sobel算子和Laplacian算子。...

2019-03-07 20:21:20 420

转载 图像二阶导数的本质

转:图像二阶导数的本质前面我们介绍过了图像的二阶导数,并且指出,二阶导数比一阶导数有更好的细节增强表现。那么,其原理是什么呢?我们仍然简化问题,考虑下x方向,选取某个像素,如下图所示:可以看出,在图中标红色框框的像素附近是一个明显的分界线,上面是一片平坦的灰度区域,下面是灰度缓慢变化的区域。而且有着明显的灰度突变:从100突变到50。我们可以把这个看作图像中物体的轮廓边缘。根...

2019-03-07 20:18:57 576

使用opencv+vs实现电脑拍照

本代码实现的功能为opencv3.2+vs20215实现的拍照功能,不同版本可借鉴

2018-04-23

空空如也

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

TA关注的人

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