自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 OpenCV常见的图像变换

拉伸、收缩、扭曲和旋转最简单的图像变换是调整图像大小,使其变大或变小。但实际操作时要比想象的复杂一些,因为调整大小带来了像素如何插值(放大)或合并(减少)的问题。均匀调整cv::resize()void cv::resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int inte...

2018-08-24 19:47:41 6756

原创 OpenCV的滤波与卷积

目录预备知识滤波、核和卷积边界外推和边界处理阈值化操作Otsu算法自适应阈值平滑简单模糊和方框型滤波器中值滤波器高斯滤波器双边滤波器导数和梯度索贝尔导数Scharr滤波器拉普拉斯变换图像形态学膨胀和腐蚀通用形态学函数开操作和闭操作形态学梯度顶帽和黑帽自定义核用任意线性滤波器做卷积用cv::filter2...

2018-08-23 10:47:20 4760

原创 OpenCV鼠标事件和滑动条事件

鼠标事件① 鼠标事件是通过传统的回调函数机制来完成。void your_mouse_callback(int event, int x, int y, int flags, void* param)其中,第一个参数要指明事件,第二个和第三个参数是鼠标事件的位置,第四个参数是标志位,第五个参数是一个void类型的指针,可用于传递额外的信息。鼠标事件类型 事件 数值 含义...

2018-08-21 11:15:16 1829

原创 OpenCV可移植图形工具HighGUI实现图像和视频操作

OpenCV把用于操作系统、文件系统以及摄像机等硬件设备交换的函数纳入了HighGUI(High-level Graphical User Interface)模块中。有了HighGUI模块,我们可以方便地打开窗口、显示图像、读出或写入图像相关的文件、鼠标事件和键盘事件。下面将对三部分分别进行介绍。HighGUI三部分的作用 部分 作用 硬件部分 最主要是对摄像机的操作 ...

2018-08-20 20:56:22 698

原创 OpenCV中的函数子

随着OpenCV的发展,封装了越来越多的功能,而往往这些功能不是一个函数就能完成的,实现为一组函数又会导致整个库的函数变得杂乱无章,因此常常使用一个新的对象类型来实现这个新功能。通过重载operator()来生成对象或函数子。下面主要讲述了三个新类型cv::PCA、cv::SVD和cv::RNG。cv::PCA主成分分析是一种降维的方法,主要是通过分析多维分布从中提取出带有最多信息量的维度...

2018-08-20 11:08:06 1913

原创 OpenCV绘图和注释

OpenCV的绘图函数可以在任意深度的图像上工作,但在大多数情况下,它们只对图像的前三个通道有影响BGR,如果是单通道图像,则默认只影响第一个通道。大多数绘图函数都支持操作对象的颜色、宽度、线型和亚像素对齐等参数。艺术线条画直线或者其他图形的函数通常可以接受宽度(thickness)和线型(lineType)的参数。这两个参数都是整型的,lineType参数只能是4、8或cv::LINE_...

2018-08-19 20:00:37 999

原创 OpenCV矩阵操作

矩阵类的成员函数可以进行很多基本的矩阵操作,在之前已经介绍过。除此之外,也有很多操作被表示为“友元”函数,它们的输入为矩阵类型,或者输出为矩阵类型,或者输入输出同为矩阵类型。下面将对这些函数及其参数进行详细介绍。目录cv::abs()和cv::absdiffcv::add()cv::addWeighted()cv::bitwise_and()cv::bitwise_not(...

2018-08-18 18:00:46 7369

原创 OpenCV的数据结构——大型数组类型

OpenCV中的数据类型可分为三类,而前两类(基础数据类型和辅助对象)在前面已进行详细讲述,下面将对最后一种——大型数组类型进行讲解。大型数据类型中最重要的当属cv::Mat,这可谓是OpenCV的核心,所有主要函数几乎都和其相关。cv::Mat类用于表示任意维度的稠密数组。所谓“稠密”表示该数组的所有部分都有一个值存储,即使这个值为0。而和其相对的就是稀疏数组cv::SparseMat,稀疏...

2018-08-16 14:54:50 1061

原创 OpenCV的工具函数

OpenCV3也提供了一些经常用于计算机视觉的实用功能,列举如下:功能 描述 cv::alignPtr() Align pointer to given number of bytes 对齐指针到指定字节数 cv::alignSize() Align buffer size to given number of bytes 将缓...

2018-08-15 11:31:54 1398

原创 OpenCV的数据类型——辅助对象

在上一篇文章中,主要介绍了OpenCV的基础数据类型。接下来在本篇文章中将主要对OpenCV的辅助对象进行介绍。cv::TermCriteria类在很多算法中都存在着循环嵌套,只有满足终止条件时才会退出。通常情况下,终止条件的形式要么是达到允许的有限迭代次数(COUNT或MAX_ITER),要么是某种形式的误差参数(如果接近如此程度,就退出循环,称为EPS,即epsilon的简称)。cv:...

2018-08-15 11:06:33 249

原创 OpenCV的数据类型——基础数据类型

OpenCV有很多数据类型,从组织结构的角度来看,OpenCV的基础类型类型主要分为三类。第一类是直接从C++原语中继承的基础数据类型;第二类是辅助对象;第三类是大型数据类型。本文主要介绍OpenCV的基础数据类型。目录Point类Scalar类Size类Rect类RotatedRect类固定矩阵类固定向量类复数类Point类cv::Point类是两到三...

2018-08-14 21:35:57 5583

原创 OpenCV图像金字塔

图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。如下图所示。常用的图像金字塔有高斯金字塔(Gaussian pyramid)和拉普拉斯金字塔(...

2018-08-12 19:34:46 2186

原创 OpenCV高斯滤波GaussianBlur

图像处理中,常用的滤波算法有均值滤波、中值滤波以及高斯滤波等。三种滤波器的对比 滤波器种类 基本原理 特点 均值滤波 使用模板内所有像素的平均值代替模板中心像素灰度值 易收到噪声的干扰,不能完全消除噪声,只能相对减弱噪声 中值滤波 计算模板内所有像素中的中值,并用所计算出来的中值体改模板中心像素的灰度值 对噪声不是那么敏感,能够较好的消除椒盐噪声,...

2018-08-10 20:57:10 103909 11

原创 OpenCV初体验

OpenCV提供了一些实用工具来读取从视频流到摄像机画面的各种各样的图像格式,这些工具都是HighGUI的一部分。下面几个小例子可以让初学者提前体验一下OpenCV的功能。1. 打开一张图像并且将其显示在屏幕上#include "stdafx.h"#include <opencv2/opencv.hpp>int main( int argc, char** argv ...

2018-08-10 17:40:02 594

原创 Python中的字典dict

字典是python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下。键不可修改且不能重复的,所以其可能是数字、字符串或元组,而不可能是list。字典中键-值对被称为项(item),其语法如下:{"Alice": 12, "Beth": 11, "Danny": 14}1 函数dict>>> items = [('name', 'Alice'), ('age...

2018-08-07 16:14:42 218

原创 Python中的字符串

字符串是序列的一种,因此标准序列操作都适用于字符串,但字符串是不可变的。因此任何元素赋值和切片赋值都是非法的。1 设置字符串格式    1.1 精简版使用字符串格式设置运算符%,其左边指定一个字符串,右边指定要设置其格式的值,可为单个值、元组或字典。>>> format = "Hello, %s. %s enough for ya?" # 格式字符串中的%...

2018-08-07 11:42:14 311

原创 python中序列(列表list和元组tuple)的用法

数据结构是以某种方式(如通过编号)组合起来的数据元素的集合。再python中最基本的数据结构为序列(sequence)。序列中的元素是有序的,索引从0开始,用负索引表示序列末尾元素的位置。python中常见的序列有两种:列表和元组。二者主要的不同点在于:列表是可以修改的,元组是不可修改的。因此元组适用于一下两种情况:① 出于某种考虑需要禁止修改序列的情形;② 将元组用作字典的键(不允许修改)。...

2018-08-07 07:57:43 914

原创 MapReduce分析NCDC 年气象数据最低温度与最高温度

利用hadoop计算技术对采集的气象数据信息进行处理,主要分两个阶段:mapper阶段和reducer阶段,mapper阶段主要是对日志文件进行按行读取并进行字符串截取,reducer阶段对mapper阶段传过来的数据进行大小比较,最终获取每一年中的最高温度。具体气象数据的格式可以参考:https://blog.csdn.net/lihuinihao/article/details/38315...

2018-08-05 21:03:37 3539

原创 使用Hadoop自带的例子pi计算圆周率

Hadoop中自带的hadoop-mapreduce-examples-2.7.6.jar含有一些事例,本文将用pi计算圆周率。若想了解其计算原理,参考:http://thinkinginhadoop.iteye.com/blog/710847。具体步骤如下:1. 启动Hadoop    切换到Hadoop安装目录下的sbin目录下执行./start-all.sh命令    或执行...

2018-08-05 16:45:12 17624 1

原创 使用Hadoop自带的例子wordcount实现词频统计

Hadoop中自带的hadoop-mapreduce-examples-2.7.6.jar含有一些事例,本文将用wordcount实现词频统计。具体步骤如下:1. 启动Hadoop    切换到Hadoop安装目录下的sbin目录下执行./start-all.sh命令    或执行./start-dfs.sh和./start-yarn.sh两条命令2. 在集群中创建目录inputd...

2018-08-05 16:23:36 10870 1

原创 Hadoop分布式集群搭建详细过程

1. 首先用五台机器搭建分布式,一个为master,剩下四个分别为slave01、slave02、slave03, slave04。2. 修改机器名    五台机器分别都执行sudo vim /etc/hostname命令,将文件中的内容分别改为master、slave01、slave02、slave03, slave04。3. 重启机器,发现机器名修改成功。4. 修改master...

2018-08-03 20:47:13 1091 2

原创 Ubuntu16.04 SSH 免密登录

1. 生成公钥,输入命令后按四个回车。    ssh-keygen -t rsa2. 进入到.ssh文件夹下,然后追加公钥到公共文件    cd .ssh    cat id_rsa.pub >> authorized_keys3. 测试免密登录    ssh localhost...

2018-08-03 11:38:30 1765

原创 Ubuntu16.04安装JDK1.8

1. 首先将jdk文件拖拽到虚拟机桌面位置,使用VMware的可以安装高级工具Tools,这样可以实现文件的拖拽。如果没有Tools,也可以使用xftp软件进行文件传输,在此不做具体介绍。2. 切换到文件所在目录,并将jdk文件移动到安装目录,本人将安装在/opt目录下。    cd ~/桌面    sudo mv jdk-8u151-linux-x64.tar.gz /opt3....

2018-08-03 11:21:31 819

原创 VMware14.1 Ubuntu16.04设置xshell连接虚拟机

1. 打开终端,查看本地ip地址2. 安装ssh3. 安装ssh成功后,打开本地xshell软件,创建新的会话。输入信息后点击“确定”,此处主机指的是虚拟机主机的ip,即刚刚用ifconfig命令查询到的IP地址。4. 双击该会话连接,弹出SSH安全警告,点击”接受并保存“。输入用户名和密码,为了下一次自动连接,选择记住用户名和密码。5. 输出下列信息,连接成功...

2018-08-03 10:17:00 818

原创 将联网方式更改为桥接模式

当前联网方式为NAT,当我们需要搭集群时需要我们将其改为桥接模式,下面将介绍如何更改连接方式。1. 点击VMware上菜单栏里的虚拟机,点击“设置”,在弹出框内进行如下设置,点击“确定”。2. 打开终端,输入ifconfig命令,查看我们的ip地址。本人由于安装虚拟机后首次打开终端,所以应先设置root用户密码。在Linux系统中输入密码是不显示的,所以大家不用怀疑自己是否输入。...

2018-08-03 10:00:19 4591

原创 VMware14.1 Ubuntu16.04安装教程

1. 安装WMware14.1,安装成功后打开点击“主页”中的“创建新的虚拟机”。2. 选择“自定义”,点击“下一步”3. 选择默认选项,点击“下一步”。4. 选择“稍后安装操作系统”,点击“下一步”。5. 根据自己的实际情况进行选择,本人安装的是Ubuntu64位,所以在此选择Linux系统并且对应版本位“Ubuntu64位”。选择完成后,点击下一步。6....

2018-08-03 09:16:20 3286

转载 VMware虚拟机的三种联网方法及原理

VMware虚拟机的三种联网方法及原理博客分类: 操作系统虚拟机Vmware互联网网络应用网络协议一、Brigde——桥接  :默认使用VMnet01、原理:Bridge  桥"就是一个主机,这个机器拥有两块网卡,分别处于两个局域网中,同时在"桥"上,运行着程序,让局域网A中的所有数据包原封不动的流入B,反之亦然。这样,局域网A和B就无缝的在链路层连接起来了,在桥接时,VMWare...

2018-08-01 19:36:38 152

转载 网络协议及IP地址分类

网络协议(Protocol)是一种特殊的软件,是计算机网络实现其功能的最基本机制。网络协议的本质是规则,即各种硬件和软件必须遵循的共同守则。网络协议并不是一套单独的软件,它融合于其他所有软件系统中,因此可以说,协议在网络中无处不在。网络协议遍及OSI通信模型的各个层次,从我们非常熟悉的TCP/IP、HTTP、FTP协议,到OSPF、IGP等协议,有上千种之多。对于普通用户而言,不需要关心太多的底层...

2018-08-01 19:01:34 1401

MapReduce分析年气象数据用源代码

该文件是用于MapReduce分析年气象数据用源代码打成的jar包,虽然名字为MaxTemperature,但里面也包含了MinTemperature的程序。所以可以求取每年的最大值和最小值。

2018-08-05

空空如也

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

TA关注的人

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