摘要: 一、threshold阈值操作 1、阈值可以被视作最简单的图像分割方法。例如,从一副图像中利用阈值分割出我们需要的物体部分,这样的图像分割方法基于图像中的物体与背景之间的灰度差异。 2、threshold对单通道数组应用固定阈值操作。 原型:double threshold( InputArray 阅读全文
posted @ 2017-08-16 10:23 pinhole 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 一、边缘检测的一般步骤 1、滤波 边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因此必须采用滤波器来改善与噪声有关的边缘检测器的性能。 2、增强 增强边缘的基础是确定图像各点领域强度的变化值。增强算法可以将图像灰度点领域强度值有显著变化的点凸显出来。在具体编程实现时,可通 阅读全文
posted @ 2017-08-07 10:22 pinhole 阅读(999) 评论(0) 推荐(0) 编辑
摘要: 一、腐蚀和膨胀 1、腐蚀和膨胀的主要功能 (1)消除噪声 (2)分割出独立的图像元素,在图像中连接相邻的元素 (3)寻找图像中的极大值或者极小值区域 (4)求出图像的梯度 2、膨胀(dilate) 膨胀就是求局部最大值的操作。从数学角度来说,就是将图像与核进行卷积,计算核B覆盖区域的像素点的最大值, 阅读全文
posted @ 2017-08-05 10:41 pinhole 阅读(2984) 评论(0) 推荐(0) 编辑
摘要: 一、领域滤波(卷积) 邻域算子值利用给定像素周围像素的值决定此像素的最终输出。如图左边图像与中间图像卷积得到右边图像。目标图像中绿色的像素由原图像中蓝色标记的像素计算得到。 通用线性邻域滤波是一种常用的邻域算子,输入像素加权得到输出像素: 其中权重核 为“滤波系数”。上面的式子可以简记为: 二、线性 阅读全文
posted @ 2017-08-04 17:30 pinhole 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 一、什么是掩模mask OpenCV中很多函数都带有一个mask参数,mask被称为掩模。图像掩模一般用来对处理的图像(全部或者局部)进行遮挡,来控制图像处理的区域或处理过程。 二、掩模原理 掩模一般是小于等于源图像的单通道矩阵,掩模中的值分为两种0和非0。以Mat::copyTo为例,当mask的 阅读全文
posted @ 2017-08-04 14:37 pinhole 阅读(3284) 评论(0) 推荐(0) 编辑
摘要: 一、颜色空间缩减 1、概念 如果图像是3通道,深度为1个字节,则每个像素有256*256*256种可能值,这么多的可能值会对算法性能造成严重影响。利用颜色空间缩减就能解决这个问题,例如将颜色值0~9取为新值0,10~19取为10,以此类推,这样每个像素有26*26*26种可能值,比上面的可能值要小很 阅读全文
posted @ 2017-08-03 18:16 pinhole 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 一、OpenCV概述 1、OpenCV全程Open Source Computer Vision Library,即开源计算机视觉库。它是一个跨平台的开源计算机视觉库,可以运行在windows、linux、Mac OS、Android、iOS等操作系统上。OpenCV用C/C++编写,轻量且高效,还 阅读全文
posted @ 2017-08-03 13:51 pinhole 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 一、数字图像存储概述 数字图像存储时,我们存储的是图像每个像素点的数值,对应的是一个数字矩阵。 二、Mat的存储 1、OpenCV1基于C接口定义的图像存储格式IplImage*,直接暴露内存,如果忘记释放内存,就会造成内存泄漏。 2、从OpenCV2开始,开始使用Mat类存储图像,具有以下优势: 阅读全文
posted @ 2017-08-03 11:04 pinhole 阅读(29539) 评论(0) 推荐(0) 编辑
摘要: epoll是linux内核为处理大批量文件描述符而作了改进的poll,是linux下IO复用select/poll的增强版本。 一、epoll的主要接口是: 1、创建 (1)int epoll_create(int maxfds); maxfds是支持的最大句柄数。该函数会返回一个新的epoll句柄 阅读全文
posted @ 2017-07-17 19:41 pinhole 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 一、概述 并发的网络编程中不管是阻塞式IO还是非阻塞式IO,都不能很好的解决同时处理多个socket的问题。操作系统提供了复用IO模型:select和poll,帮助我们解决了这个问题。这两个函数都能够允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或者经历一段指定的时间后才唤 阅读全文
posted @ 2017-07-17 17:05 pinhole 阅读(1346) 评论(0) 推荐(0) 编辑