- 博客(37)
- 资源 (2353)
- 收藏
- 关注
原创 setwindowhookex
#include "stdafx.h" #include int _tmain(int argc, _TCHAR* argv[]) { /* * Load library in which we'll be hooking our functions. */ HMODUL
2016-04-21 17:28:07 923
原创 mfc结合opencv显示图片
#pragma once#ifndef CVVIMAGE_CLASS_DEF#define CVVIMAGE_CLASS_DEF#include "opencv2\\opencv.hpp"/* CvvImage class definition */class CvvImage{public: CvvImage(); virtual ~CvvImage(); /*
2016-04-13 18:51:20 1667
原创 cv1.4 访问通道数据
直方图直方图统计//main文件#include using namespace cv;using namespace std;#include "Histogram.h"int main(){ cv::Mat image = cv::imread("f:\\Img\\Lena.jpg"); Histogram h; cv::namedW
2016-04-13 11:26:20 794
原创 cv1.7去背景以及人脸检测人脸识别
直方图均衡理论研究我们先来看看原图的直方图我们发现高亮区域的像素点很少,主要像素点集中在中低亮度区域我们先设置一个阈值,也就是图中的那根粉色的线,当某一亮度值的像素点的个数低于这个值时,我们认为这些像素点是无关紧要的。灰度图的亮度值范围是0-255,若亮度值为1的像素点的个数低于阈值,我们可简单的把亮度为1的像素点的亮度全设为0,同理,我们从高往低找,若亮度值为254的
2016-04-13 11:13:02 4013
原创 cv1.6hist直方图操作
直方图直方图统计//main文件#include using namespace cv;using namespace std;#include "Histogram.h"int main(){ cv::Mat image = cv::imread("f:\\Img\\Lena.jpg"); Histogram h; cv::namedWindo
2016-04-13 11:08:26 1765
原创 cv1.8凸包检测以及形态学滤波
形态学滤波形态滤波进行角点检测#include using namespace cv;using namespace std;#include "morphoFeatures.h"int main(){ Mat image = imread("f:/img/adc.jpg",0); if(!image.data) return -1; imshow("源
2016-04-13 11:00:11 1674
原创 cv1.0入门
环境VS2010UltimTrial1.iso http://pan.baidu.com/s/1dEL85klVS2010UltimTrialCHS版注册码 YCFHQ-9DWCY-DKV88-T2TMH-G7BHPopencv-2.4.9.exe http://pan
2016-04-13 10:49:04 3469 2
原创 cv1.1 找mark点以及分水岭算法
分水岭算法实现分割分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展
2016-04-13 10:42:55 7214
原创 cv1.2图像去除噪声
图像去噪声添加高斯噪声// cv2.cpp : Defines the entry point for the console application.//#include #include using namespace cv; using namespace std; #define TWO_P
2016-04-13 10:09:13 5901
原创 cv1.3计算物体旋转角
OpenCV轮廓检测,计算物体旋转角度 #include "stdafx.h" #include #include #include #include #include #include #define PI 3.1415926 using namespace std; using
2016-04-11 21:34:59 1986
转载 PCA算法实现
PCA(principal component analysis,主成分分析),我想是大家用的最多的降维手段,对于PCA的理解,我想大神们都各有各的绝招,可以应用的场合也非常多。下面就介绍一下OpenCV中PCA这个类,因为常用,所以这个类相对OpenCV而言显得比较独立,放在了core这部分中。PCA类的成员函数包括构造函数、运算符重载()、project、backProject这几个函数,
2016-04-05 12:21:09 657
转载 FAST特征点检测features2D
特征点检测和匹配是计算机视觉中一个很有用的技术。在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用。这一次先介绍特征点检测的一种方法——FAST(features from accelerated segment test)。很多传统的算法都很耗时,而且特征点检测算法只是很多复杂图像处理里中的第一步,得不偿失。FAST特征点检测是公认的比较快速的特征点检测方法,只利用周围像素比较的信息就可以
2016-04-05 12:19:54 528
转载 基础函数宏
如果你想在OpenCV的基础上自己开发一些算法,我觉得core这部分内容不得不精啊,能熟练使用OpenCV的数据结构是开发的基础,又是重中之重。最近就又拌在这上头了,所以再重温一下。这次分析一下Utility and System Functions and Macros这部分,就是实用函数、系统函数和宏。OpenCV在这部分里包含一些类似标准c++、c里面的一些东西。系统函数有很多。有些
2016-04-05 12:16:51 365
转载 Kalman滤波做运动目标跟踪
kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加权后校正状态变量的估计值,使状态变量估计误差的均方差最小。具体它的原理和实现,我想也不用我在这里费口舌,但这个理论基础必须的有,必须得知道想用kalman滤波做跟踪,必须得先建立运动模型和观察模型,不是想用就能用的。如果不能建立运动模型,也就意味着你所要面对的问题不
2016-04-05 12:13:59 1298
转载 用haar特征训练自己的分类器
之前介绍过一篇利用级联分类器对目标进行检测的文章http://blog.csdn.net/yang_xian521/article/details/6973667,用的就是haar特征。发现OpenCV自带的库里的haar特征只有人脸、人脸的器官和人的身体,最近又想玩一个人手的检测,之前用颜色特征做的,感觉很不靠谱,这次用haar特征再试一次。这就需要用haartraining这个工具训练自己的手
2016-04-05 12:11:57 841
转载 videoInput 与VideoCapture
最近做一个东西,摄像头使用的高清摄像头,采集出来的视频是D1格式(720*480)。使用VideoCapture发现速度很忙,网上的朋友说VideoCapture提供的读写功能采用VFW,效率低下且有些格式支持不好。而 OpenCV 2.0 内置了videoInput Library,可以自动在VFW和DirectShow间切换。videoInput是老外写的功能强大的开源视频处理库。是一个第三方
2016-04-05 12:09:10 4194
转载 图像图形的各种变换
imgproc是OpenCV一个比较复杂的lib,我是分开介绍的,之前介绍过了滤波器、直方图、结构分析和形状描述三节,这次介绍一下图像的变换,OpenCV对于图像的变换又可分为几何变换和其他的变换,我这节先介绍一下其他的变换。这部分的函数包括adaptiveThreshold,对图像进行自适应的阈值操作。相应的也有更一般常用的阈值操作函数threshold。这里还是详细介绍一下cvtC
2016-04-05 12:06:54 574
转载 视频前景的提取Video
视频捕捉的对象中,背景通常保持不变。一般分析中关注移动的前景物体,威力提取出前景物体,需要建立背景的模型,将模型和当前帧进行比对检测前景物体。前景提取应用非常广泛,特别是在智能监控领域中。如果有不含前景物体的背景图片,提取前景的工作相对容易,只需要比对当前帧和背景图片的不同,调用函数absdiff实现。但是大多数情况,获得背景图片是不可能的,比如在复杂的场景下,或者有光线条件的变化。因此,就需
2016-04-05 12:04:33 991
转载 光流法对运动目标跟踪Video
OpenCV配套的教程Tutorials对于Video的部分,没有实例进行说明,我只能摸石头过河啦,之前试过一个camShift做目标检测,这次试一试光流法做运动估计。这里使用的光流法是比较常用的 Lucas-Kanade方法。对于光流法的原理,我就不过多介绍了,主要讲使用OpenCV如何实现。首先利用goodFeaturesToTrack函数得到图像中的强边界作为跟踪的特征点,接下来要调用c
2016-04-05 12:02:48 2075
转载 detectMultiScale 基于级联分类器的目标检测objdect
OpenCV支持的目标检测的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification)。注意,新版本的C++接口除了Haar特征以外也可以使用LBP特征。先介绍一下相关的结构,级联分类器的计算特征值的基础类FeatureEvaluator,功能包括读操作read、复制clone、获得特征类型getFeatureType,分配图片
2016-04-05 12:00:59 1332
转载 运动分析和物体跟踪Video
这个库中相关的函数有calcOpticalFlowPyrLK、calcOpticalFlowFarneback、estimateRigidTransform、updateMotionHistory、calcMotionGradient、calcGlobalOrientation、segmentMotion、CamShift、meanShift;还有卡尔曼滤波器类KalmanFilter,类内成员函
2016-04-05 11:54:40 780
转载 模板匹配
寻找一幅图像的匹配的模板,可以在一段视频里寻找出我们感兴趣的东西,比如条形码的识别就可能需要这样类似的一个工作提取出条形码区域(当然这样的方法并不鲁棒)。而OpenCV已经为我们集成好了相关的功能。函数为matchTemplate。所谓模板匹配就是在一幅图像中寻找和模板图像(patch)最相似的区域。该函数的功能为,在输入源图像Source image(I)中滑动框,寻找各个位置与模板图像Te
2016-04-05 11:52:39 581
转载 粒子滤波跟踪方法
粒子滤波法是指通过寻找一组在状态空间传播的随机样本对概率密度函数进行近似,以样本均值代替积分运算,从而获得状态最小方差分布的过程。对于粒子滤波跟踪方法,这里有一篇很浅显易懂的博客,我分享给大家http://www.cnblogs.com/yangyangcv/archive/2010/05/23/1742263.html。他的工作也是参考Rob Hess的程序做的,感谢老外的开源精神,我看
2016-04-05 11:49:38 588
原创 直方图
直方图histograms也是图像处理中经常用到的一种手段。新版本对直方图不再使用之前的histogram的形式,而是用统一的Mat或者MatND的格式来存储直方图,可见新版本Mat数据结构的优势。先介绍下其相关的函数calcHist、calcBackProject、compareHist、EMD、equalizeHist。除了这几个常用的函数以为,还有一些c函数写的直方图类CvHistogr
2016-04-05 11:46:20 351
原创 手势识别
先滤波去噪-->转换到HSV空间-->根据皮肤在HSV空间的分布做出阈值判断,这里用到了inRange函数,然后进行一下形态学的操作,去除噪声干扰,是手的边界更加清晰平滑-->得到的2值图像后用findContours找出手的轮廓,去除伪轮廓后,再用convexHull函数得到凸包络。
2016-04-05 11:41:22 874
转载 轮廓、边缘、边界的相关函数
OpenCV支持大量的轮廓、边缘、边界的相关函数,相应的函数有moments、HuMoments、findContours、drawContours、approxPolyDP、arcLength、boundingRect、contourArea、convexHull、fitEllipse、fitLine、isContourConvex、minAreaRect、minEnclosingCircle、
2016-04-05 11:38:04 1606
转载 camshift
CamShitf算法,即Continuously Apative Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算,将上一帧结果作为下一帧的初始值,迭代下去。基本步骤为:1.选取关键区域2.计算该区域的颜色概率分布--反向投影图3.用MeanShift算法找到下一帧的特征区域4.标记并重复上述步骤该算法的关键就是可以在目标大小发生改变的时候,可以
2016-04-05 11:35:12 463
转载 各种滤波器
先介绍几个最基本的核滤波器相关的类2D图像滤波器基础类BaseFilter:dst(x,y) = F(src(x,y), src(x+1,y)... src(x+wdith-1,y), src(y+1,x)... src(x+width-1, y+height-1) ); 相关的调用函数为getLinearFilter、getMorphologyFilter单行核滤波器基础类BaseRow
2016-04-05 11:30:24 964
转载 xml 文件读取
1. XML、YAML文件的打开和关闭XML\YAML文件在OpenCV中的数据结构为FileStorage,打开操作例如: string filename = "I.xml"; FileStorage fs(filename, FileStorage::WRITE); \\... fs.open(filename, FileStorage::R
2016-04-05 11:24:02 362
转载 Harris特征、SIFT特征、SURF特征
基于特征点的图像匹配是图像处理中经常会遇到的问题,手动选取特征点太麻烦了。比较经典常用的特征点自动提取的办法有Harris特征、SIFT特征、SURF特征。先介绍利用SURF特征的特征描述办法,其操作封装在类SurfFeatureDetector中,利用类内的detect函数可以检测出SURF特征的关键点,保存在vector容器中。第二部利用SurfDescriptorExtractor类进行
2016-04-05 11:18:21 4295
原创 cvCaptureFromCAM 分析
CV_IMPL CvCapture * cvCaptureFromCAM (int index){ int domains[] = { CV_CAP_IEEE1394, // identical to CV_CAP_DC1394 CV_CAP_STEREO, CV_CAP_VFW, // identical to CV_CAP_V4L CV_C
2016-04-04 22:49:38 2766
转载 创建滚动条浏览大图
下面这段例程展示了怎样通过 cvSetMouseCallback, cvRect, cvRectangleR, cvResize 等一系列OpenCV函数来创建方便、可随意定制的滚动条。 [c-sharp] view plain copy // Image_ScrollBar.cpp : Defines the entry point for
2016-04-04 22:03:26 463
转载 在一个窗口显示多个视频子窗口
参考OpenCV中文论坛的一个帖子(http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=7996&start=0)实现了在一个窗口显示多个视频子窗口,能够读入单个的视频或摄像头数据,然后在一个窗口中分别显示原始帧图像、反色图像、灰度图像以及Canny边缘检测图像。并在每个子窗口左上角显示系统时间,函数cvShowManyImages是改写的。
2016-04-04 21:59:40 3102
转载 摄像机定标立体匹配
最近整理了一下这两年一直在用的最近整理了一下这两年一直在用的摄像机定标与立体匹配测试程序,将代码进行了重构,界面也做了调整,分享出来方便有需要的朋友使用。当然我的编程能力有限,程序可能还有各种bug,请大家多多包涵。相关问题欢迎留言或email联系讨论,谢谢! ===========================================================
2016-04-04 21:55:15 3006
转载 使用DirectShow打开摄像头 MFC编程
之前使用OpenCV 自带的函数打开摄像头,在Win7下无法使用的朋友可以参考一下这篇文章。使用DirectShow可以实现打开多个摄像头。首先从网上下载三个文件:DirectShow、CameraDS.cpp、CameraDS.h其中DirectShow是一个文件夹,没必要下载安装程序,DirectShow里面包含了lib文件与Include头文件。接下来是配置DirectShow,新建一个MF
2016-04-04 21:51:45 3840 1
转载 cvMatchShapes旋转的物体跟踪
转自http://blog.csdn.net/chenhezhuyan 点击打开链接跟一位学院的老师做SRP快一年了,老师一直要我们负责软件部分。其中软件只要是计算机视觉,在VC6.0下使用OpenCV跟踪摄像头下的一个运动物体。虽然之前也写过一个模式识别的程序,但是那次是使用模板匹配函数MatchTemplate来写的MatchTemlate函数对于不旋转的物体跟踪效果很好,我
2016-04-04 21:48:24 1770
原创 mfc cv工程
void CMyDlg::OnFileOpen(){ // TODO: Add your control notification handler code here cvNamedWindow("video", 1); pCapture = cvCreateCameraCapture(-1); SetTimer(1,100,NULL);
2016-04-04 21:40:59 474
arm so注入代码
2018-06-22
32机器pe hook以及进程调试工具源代码
2016-09-03
linux x86平台elf 进程注入so并且实现基于rel的hook ubuntu14.01测试通过
2016-08-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人