![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv
直到流萤成飞火
这个作者很懒,什么都没留下…
展开
-
HSV YCrCb 颜色空间
基础学习笔记之opencv(20):OpenCV中的颜色空间(ing…) YCrCb YCrCb在视频压缩和一些数字图像处理中使用得比较多,是一种基于人眼感知的颜色空间。 在OpenCV中,从RGB空间转换到YCrCb空间的公式如下: 注意从RGB到YcrCb的公式并不是唯一的,这里OpenCV只是采用的是Intel IPP中的公式而已。 其中的delta的转载 2016-04-12 08:46:41 · 2418 阅读 · 0 评论 -
Qt+opencv多摄像头视频显示
上个文章就说了,我正在实现一个智能监控系统。 由此实现了Qt的FTP文件传输:http://blog.csdn.net/u013812682/article/details/52199502。 还有Qt的tcp视频传输:http://blog.csdn.net/u013812682/article/details/52185540。 在此我将实现基于Qt和opencv的基于多摄像头的视频显示。原创 2016-08-16 11:40:35 · 6906 阅读 · 1 评论 -
模板匹配
今天看了王先生的一篇博客 http://www.cnblogs.com/xrwang/archive/2010/02/05/MatchTemplate.html 介绍了模板匹配,王先生是使用C#实现的,在此我使用C++实现;在此引用王先生的摘要: 模板匹配的工作方式 模板匹配的工作方式跟直方图的反向投影基本一样,大致过程是这样的:通过在输入图像上滑动图像块对实际的图像块和输入图像进行原创 2016-08-01 12:22:37 · 622 阅读 · 0 评论 -
人脸检测(opencv)
乍看人脸识别感觉很复杂,但是我们站在巨人的肩旁上,这些难题都迎刃而解,虽然实现和效果都很简单,在opencv中自带了很多的分类器和检测函数,分类器在(安装位置)\opencv\sources\data\haarcascades,当然也可以自己训练 步骤: 1:加载分类器; 2:调用检测函数detectMultiScale(); 3:画出相关人脸区域; 代码实现:#include<openc原创 2016-07-22 11:23:17 · 508 阅读 · 0 评论 -
QT+Opencv视频文件TCP网络传输
这几天一直在看TCP网络这块,希望实现网络摄像头实时监控,现在实现了一个基本的demo,以后将在这个基础上实现更多的功能,在这里我是在客户端传送视频,然后在服务器显示。 前面我还写了一个基本的UDP消息传输:http://blog.csdn.net/u013812682/article/details/52149665,有兴趣的可以看看交流,不多说了,看效果和代码。客户端:效果图: 代码:原创 2016-08-11 18:53:11 · 17354 阅读 · 8 评论 -
lbp算子实现
LBP(Local Binary Pattern, 局部二值模式)是一种用来描述图像局部纹理特征的算子; 它的作用是进行特征提取,而且,提取的特征是图像的纹理特征,并且,是局部的纹理特征;原始的LBP算子定义为: 在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。 这样,3*3领域内的8个点可产原创 2016-08-13 15:34:23 · 1799 阅读 · 0 评论 -
图像卷积实现
卷积操作是图像变换的基础。 抽象的说,卷积这个术语意味着我们对图像的每一个部分所做的操作。从这个意义上讲,我们所熟悉的很多图像变换操作可以被理解成普通卷积的特殊情况。一个特殊的卷积所实现的功能是由所用的卷积核的形式决定的。这个核本质上是一个大小固定,由数值参数构成的数组,数组的标定点通常位于数组的中心。数组的大小被称为核支撑。单就技术而言,核支撑实际上仅仅由核数组的非零部分组成。下面的卷积示例描述原创 2016-08-13 16:10:46 · 3211 阅读 · 0 评论 -
抠图-grabCut算法+hog检测
GrabCut是微软研究院的一个课题,主要功能是分割和抠图。 grabcut是在graph cut基础上改进的一种图像分割算法,它同样是基于图割理论的。 由于背景的复杂度不同所以,grabcut算法抠图的准确性也有很大的差异,所以我使用了hog检测人物再使用grabcut算法抠图,增加了准确性。这里我是在视频中进行抠图。 代码:#include<opencv2\opencv.hpp>#inc原创 2016-09-06 11:00:45 · 2559 阅读 · 0 评论 -
QImage 与 cv::Mat 之间的相互转换
转载自博客:http://blog.csdn.net/liyuanbhu/article/details/46662115转载 2016-09-20 19:16:53 · 4372 阅读 · 0 评论 -
视频背景抠图(opencv)
代码实现:using namespace cv;using namespace std;int main(){ VideoCapture capture("1.mov"); vector<Mat> vec; int i = 1; while (1){ char file[50]; Mat src, img,img1,img2,img3原创 2016-07-21 11:02:40 · 2801 阅读 · 3 评论 -
离散余弦函数(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 · 1365 阅读 · 0 评论 -
视频人数统计(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 · 14719 阅读 · 63 评论 -
DOG简析
Difference of Gaussian(DOG)是高斯函数的差分。我们已经知道可以通过将图像与高斯函数进行卷积得到一幅图像的低通滤波结果,即去噪过程,这里的Gaussian和高斯低通滤波器的高斯一样,是一个函数,即为正态分布函数。那么difference of Gaussian 即高斯函数差分是两幅高斯图像的差,一维表示:二维表示:opencv实现:using namespace std;u原创 2016-07-22 12:14:02 · 632 阅读 · 0 评论 -
opencv博客记录
http://blog.csdn.net/u011503970 opencv例程讲解http://blog.csdn.net/zouxy09 机器视觉丶机器学习丶深度学习http://blog.csdn.net/pi9nc 转载了无数机器学习的博客http://blog.csdn.net/jinshengtao 图像处理http://www.cnblogs.com/tornadomeet/ 机器视原创 2016-07-21 10:33:43 · 317 阅读 · 0 评论 -
快速对图像的像素进行操作 opencv 实战
OpenCV 如何对图像的像素进行操作对图像的像素进行操作,我们可以实现空间增强,反色,大部分图像特效系列都是基于像素操作等目的。先来看一下内存空间中图像矩阵,也就是Mat的矩阵数值部分是怎么存储的:如果图像是一幅灰度图像,他就像这样,从左到右,从上到下,依次是矩阵的每一行每一列,这时候矩阵M(i,j)的值自然就是当前点的灰度值了。而对于一幅彩色图像,由于它的像素分量channel并不是一个,所以每转载 2016-07-21 10:28:33 · 772 阅读 · 0 评论 -
opencv常见错误
第一个:OpenCV Error: Assertion failed dims =2 data i0 size.p[0] i1,第二个错误 OpenCV Error: Bad flage本人在在调试过程中遇到的两个常见的OpenCV Error,跟大家分享一下解决办法:第一个:OpenCV Error: Assertion failed <dims <=2 && data && <unsigned原创 2016-07-21 10:32:55 · 1837 阅读 · 0 评论 -
相似图片搜索原理一(ahash-c++)
理论来源 http://blog.csdn.net/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 · 861 阅读 · 0 评论 -
相似图片搜索原理二(phash-c++实现)
理论来源 http://blog.csdn.net/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 · 925 阅读 · 0 评论 -
相似图片搜索原理三(c++)颜色直方图
图像的颜色直方图可以用于图像检索,适应有相同色彩,并且可以有平移、缩放、旋转不变性的图像检索,当然了这三大特点不如sift或者surf稳定性强,此外最大的局限就是如果形状内容一样,但色彩不一,结果是搜不到的。不过它在某些情况下达到较好的结果。颜色直方图两种计算方式:彩色图像的颜色直方图,这里可以有两种处理方式,得到的效果应该差不多。首先第一种就是对像素的每个通道都进行划分,每个通道的最大像素值为25原创 2016-07-21 10:39:32 · 649 阅读 · 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 · 5763 阅读 · 3 评论