
机器视觉
直到流萤成飞火
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
视频人数统计(opencv)
步骤: 1.视频图像灰度化img 2,选取第一帧图像first_img,视频每帧和第一帧相减,得到src 3,对src图片进行 阈值,滤波处理 4,查找处理好图片的边界findContours; 5,对边界区域进行统计,满足条件的进行计数代码实 现:using namespace std;using namespace cv;int main(){ Mat img, src,原创 2016-07-21 11:09:04 · 14891 阅读 · 63 评论 -
抠图-grabCut算法+hog检测
GrabCut是微软研究院的一个课题,主要功能是分割和抠图。 grabcut是在graph cut基础上改进的一种图像分割算法,它同样是基于图割理论的。 由于背景的复杂度不同所以,grabcut算法抠图的准确性也有很大的差异,所以我使用了hog检测人物再使用grabcut算法抠图,增加了准确性。这里我是在视频中进行抠图。 代码:#include<opencv2\opencv.hpp>#inc原创 2016-09-06 11:00:45 · 2649 阅读 · 0 评论 -
机器视觉开源代码及数据课程集合
Source CodeNon-exhaustive list of state-of-the-art implementations related to visual recognition and search. There is no warranty for the source code links below – use them at your own risk!Feature Det原创 2016-09-06 10:30:07 · 1113 阅读 · 0 评论 -
图像卷积实现
卷积操作是图像变换的基础。 抽象的说,卷积这个术语意味着我们对图像的每一个部分所做的操作。从这个意义上讲,我们所熟悉的很多图像变换操作可以被理解成普通卷积的特殊情况。一个特殊的卷积所实现的功能是由所用的卷积核的形式决定的。这个核本质上是一个大小固定,由数值参数构成的数组,数组的标定点通常位于数组的中心。数组的大小被称为核支撑。单就技术而言,核支撑实际上仅仅由核数组的非零部分组成。下面的卷积示例描述原创 2016-08-13 16:10:46 · 3295 阅读 · 0 评论 -
人脸检测(opencv)
乍看人脸识别感觉很复杂,但是我们站在巨人的肩旁上,这些难题都迎刃而解,虽然实现和效果都很简单,在opencv中自带了很多的分类器和检测函数,分类器在(安装位置)\opencv\sources\data\haarcascades,当然也可以自己训练 步骤: 1:加载分类器; 2:调用检测函数detectMultiScale(); 3:画出相关人脸区域; 代码实现:#include<openc原创 2016-07-22 11:23:17 · 537 阅读 · 0 评论 -
C++实现人脸识别csv文件的写入(加labels)
前面也写了一个csv是没有加label的(http://blog.youkuaiyun.com/u013812682/article/details/52013074), 上次写完因为有点事所以没看这块,才发现少加了label,所以在这里补上 orl下载地址:http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html 代码:#incl原创 2016-08-17 09:31:44 · 2467 阅读 · 8 评论 -
模板匹配
今天看了王先生的一篇博客 http://www.cnblogs.com/xrwang/archive/2010/02/05/MatchTemplate.html 介绍了模板匹配,王先生是使用C#实现的,在此我使用C++实现;在此引用王先生的摘要: 模板匹配的工作方式 模板匹配的工作方式跟直方图的反向投影基本一样,大致过程是这样的:通过在输入图像上滑动图像块对实际的图像块和输入图像进行原创 2016-08-01 12:22:37 · 666 阅读 · 0 评论 -
Qt+opencv多摄像头视频显示
上个文章就说了,我正在实现一个智能监控系统。 由此实现了Qt的FTP文件传输:http://blog.youkuaiyun.com/u013812682/article/details/52199502。 还有Qt的tcp视频传输:http://blog.youkuaiyun.com/u013812682/article/details/52185540。 在此我将实现基于Qt和opencv的基于多摄像头的视频显示。原创 2016-08-16 11:40:35 · 7021 阅读 · 1 评论 -
离散余弦函数(c++实现)
理论:图像处理中常用的正交变换除了傅里叶变换外,还有其他一些有用的正交变换,其中离散余弦就是一种。离散余弦变换表示为DCT( Discrete Cosine Transformation),常用于图像处理和图像识别等。一维离散余弦变换正变换 (1)(2)式中F(u)是第u个余弦变换系数,u是广义频率变量,u=1,2,3……N-1; f(x)是时域N点序列, x=0,1,2……N-1 反变换 (3原创 2016-07-21 10:57:13 · 1434 阅读 · 0 评论 -
相似图片搜索原理三(c++)颜色直方图
图像的颜色直方图可以用于图像检索,适应有相同色彩,并且可以有平移、缩放、旋转不变性的图像检索,当然了这三大特点不如sift或者surf稳定性强,此外最大的局限就是如果形状内容一样,但色彩不一,结果是搜不到的。不过它在某些情况下达到较好的结果。颜色直方图两种计算方式:彩色图像的颜色直方图,这里可以有两种处理方式,得到的效果应该差不多。首先第一种就是对像素的每个通道都进行划分,每个通道的最大像素值为25原创 2016-07-21 10:39:32 · 699 阅读 · 0 评论 -
相似图片搜索原理二(phash-c++实现)
理论来源 http://blog.youkuaiyun.com/lu597203933/article/details/45798293理论部分:理论部分主要包括以下几个步骤:<1> 图像缩放—将图像缩放到32*32大小<2>灰度化—对32*32大小的图像进行灰度化<3>离散余弦变换(DCT)—对32*32大小图像进行DCT<4>计算均值—用32*32大小图片前面8*8大小图片处理并计算这64个像素的均值<4>原创 2016-07-21 10:37:57 · 969 阅读 · 0 评论 -
相似图片搜索原理一(ahash-c++)
理论来源 http://blog.youkuaiyun.com/Lu597203933/article/details/45101859 理论部分:理论部分主要包括以下几个步骤:<1> 图像缩放—将图像缩放到8*8大小<2>灰度化—对8*8大小的图像进行灰度化<3>计算均值—计算这8*8大小图片中64个像素的均值<4>得到8*8图像的ahash—8*8的像素值中大于均值的则用1表示,小于的用0表示,这样就得到原创 2016-07-21 10:35:28 · 911 阅读 · 0 评论 -
快速对图像的像素进行操作 opencv 实战
OpenCV 如何对图像的像素进行操作对图像的像素进行操作,我们可以实现空间增强,反色,大部分图像特效系列都是基于像素操作等目的。先来看一下内存空间中图像矩阵,也就是Mat的矩阵数值部分是怎么存储的:如果图像是一幅灰度图像,他就像这样,从左到右,从上到下,依次是矩阵的每一行每一列,这时候矩阵M(i,j)的值自然就是当前点的灰度值了。而对于一幅彩色图像,由于它的像素分量channel并不是一个,所以每转载 2016-07-21 10:28:33 · 814 阅读 · 0 评论 -
人脸识别CSV文件(c++实现)
最近看人脸识别,用的orl库,看网上人脸识别的csv文件都是用python实现的,但是我也懒得装python环境,所以用c++实现了,虽然不难,也和大家分享一下。 顺便提下orl库下载地址,csdn下载有点慢。。。。 orl地址;http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html 代码实现:#include<ios原创 2016-07-24 11:14:34 · 4026 阅读 · 5 评论 -
DOG简析
Difference of Gaussian(DOG)是高斯函数的差分。我们已经知道可以通过将图像与高斯函数进行卷积得到一幅图像的低通滤波结果,即去噪过程,这里的Gaussian和高斯低通滤波器的高斯一样,是一个函数,即为正态分布函数。那么difference of Gaussian 即高斯函数差分是两幅高斯图像的差,一维表示:二维表示:opencv实现:using namespace std;u原创 2016-07-22 12:14:02 · 687 阅读 · 0 评论 -
泊松融合-opencv代码实现
opencv实现的泊松融合,代码没有经过其他处理;#include<opencv2\opencv.hpp>using namespace cv;int main(){ Mat src = imread("images/015-CT.png"); Mat dst = imread("images/015-MR-T2.png"); if(src.empty()||dst.empty())原创 2016-12-02 08:48:16 · 5853 阅读 · 3 评论