- 博客(62)
- 资源 (1)
- 收藏
- 关注
原创 YUY2转RGB 的各种版本
//YUY2视频转化RGB格式 by hardy 2007-10-17//http://www.fourcc.org/fccyvrgb.phpinline void YUY2_RGB(BYTE *YUY2buff,BYTE *RGBbuff,DWORD dwSize){ //B = 1.164(Y - 16) + 2.018(U - 128) //G = 1.164(Y - 1
2007-10-18 22:24:00
9467
原创 使用harrTraining进行电池的识别实验
请从opencv_share@163.com 密码:download 下载完整格式的文档与代码。 使用harrTraining进行电池的识别实验by hardyhttp://blog.csdn.net/hardvb提取训练数据在OpenCV_ObjectDetection_HowTo.pdf 提到的objectmaker.exe,实际中没有找到,只好自己写了一个。该小程序完成从摄像头中选
2007-10-10 16:46:00
5390
6
原创 cvsnakeimage 的例子
opencv例子里没有提供cvsnakeimage的使用方法,在此整理一个例子,可以形象的看看snake算法的结果,大致做法是:首先设定域值分割,把基本的轮廓找出来,见图中蓝色轮廓线,再将轮廓点传入cvSnakeImage函数,计算出绿色的snake轮廓线。其中参数alpha代表点相互靠拢的权值(0-1.0),beta表示弯曲能量(越小越容易弯曲)(0-1.0),gamma表示整体能量(0
2007-09-11 14:48:00
7823
13
原创 双目视觉简单测试
opencv提供了双目视觉检测距离信息的函数,试着使用了两个摄像头获得两副图像测试一下,感觉背景单纯,目标较小的情况下,得到的效果较好一些。(下图分别是左图像,右图像,得到的深度图像)用一个长的物体来测试深度,效果不好。如下:难点问题是两个摄像机即使是同一个机型,同样的镜头,得到的图像颜色有所轻微的差别,导致效果不好。而使用一个摄像机平移左右得到的结果会更好一些。以下图片
2007-07-11 17:10:00
10808
11
原创 用python 在c++计算数学表达式的例子
#include "stdafx.h"#include "Python.h"#include iostream>#pragma comment( lib, "python22.lib" ) int _tmain(int argc, _TCHAR* argv[])...{ Py_Initialize(); PyObject * module; PyObject *
2007-07-06 17:56:00
3145
原创 联机手写大写英文字母识别
Online handwriting with upper letter I just try to make use of the letter stroke num & the track of the stroke to classify the letter. the result is pretty good.I finish it base OPENCV 1.0, with V
2007-06-22 10:17:00
6017
1
原创 分形之美
分形之美看到有的网站搞分形艺术,才知道这个Z=Z*Z+C 如此的奇妙。于是干脆在opencv下写出来,看看。效果还不错。呵呵。这个小例子只能修改C的值,有兴趣的朋友可以自己改改代码,看能不能做出些美妙的图形。代码提示:要获得高质量的图像,可以增加image_w,不过性能很低。 图片 参考链接http://blog.csdn.net/spanzhang/ http://w
2007-06-21 10:33:00
4744
1
原创 在opencv下绘制Bezier 贝赛尔 曲线
因需要研究了一下贝赛尔曲线,并在opencv下实现. 可以修改控制点,连接多条曲线,修改曲线精度。 程序示例如下:代码下载:opencv_share@163.com download代码如下: // TrainingTools.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include iostream>#include st
2007-04-26 13:58:00
4239
1
原创 弧面为二次多项式的uv纹理设置 directx
弧面为二次多项式的uv纹理设置 directx void SphereCylDemo::bulidCurveBuffer()...{ if(g_pVB==NULL) ...{ if( FAILED( gd3dDevice->CreateVertexBuffer( 6*x_step*y_step*sizeof(CUSTOMVERTEX),
2007-04-26 10:36:00
2018
转载 科学计算相关的c++库
科学计算相关的c++库 Blitz++ 参考网站:http://www.oonumerics.org/blitz/Blitz++ 是一个高效率的数值计算函数库,它的设计目的是希望建立一套既具像C++ 一样方便,同时又比Fortran速度更快的数值计算环境。通常,用C++所写出的数值程序,比 Fortran慢20%左右,因此Blitz++正是要改掉这个缺点。方法是利用C++的temp
2007-04-25 15:17:00
1930
转载 OpenCV读入的图像如何显示在窗体上
IplImage* pImg; CString strPathName; CFileDialog dlg(TRUE); CDC* pDC = this->GetDC(); CRect rect; this->GetClientRect(&rect); if(dlg.DoModal()==IDOK) ...{ strPathName = dl
2007-04-23 09:54:00
3183
1
原创 简单使用 cvCalcPCA 计算主成分的代码
简单使用 cvCalcPCA 计算主成分的代码 CvMat* pData = cvCreateMat(100, 2, CV_32FC1); //二维数据点 for(int i = 0; i 100; i++) ...{ cvSet2D(pData, i, 0,cvRealScalar(i))
2007-02-14 17:08:00
4731
3
原创 opencv使用cvDFT 傅立叶转换的例子
int main(int argc, char* argv[])...{ unsigned int i; CvMat* s = cvCreateMat(1,32,CV_32FC1); CvMat* d = cvCreateMat(1,32,CV_32FC1); CvMat* s2 = cvCreateMat(1,32,CV_32FC1); for(i=0;i
2007-02-06 10:41:00
6493
3
原创 OPENCV下针对IplImage实现图像增强处理
因为使用的摄像头图像质量很差,不能直接用做分割等后续的处理,需要根据直方图进行图像增强,OPENCV没有现成的方法,只有自己想办法了。 参考了网上文章 http://www.xiaozhou.net/ReadNews.asp?NewsID=771 原理就是利用直方图统计分布,将图像灰度的域值拉伸到0-255,原来网上的代码有些问题,而且是使用bmp的,我就改成了IplImage了,于是在OPENC
2007-01-05 16:10:00
15791
2
原创 OPENGL 集成在MFC 例子
自己整理的OPENGL 集成在MFC 例子在vc2005下打开http://hardy.gigcities.com/opengl/MFCopengl.rar
2006-12-19 22:52:00
2499
原创 支持xp风格的manifest
我的环境是vc2005发现 支持xp风格的manifest 有问题,MSDN 和一些网站上的manifest 有问题 , 自己修改了一下加上Microsoft.VC80.DebugCRT 和 Microsoft.VC80.DebugMFC 就可以了。如果是release版需要自己改一下。
2006-11-24 12:54:00
2412
2
原创 双核机器使用openmp简单测试opencv
因为机器是双核。想到怎么才能更好应用opencv , 从opencv说明上得到" - 一些函数可以使用 OPENMP 做并行处理: cvHaarDetectObjects, cvCalcOpticalFlowPyrLK, cvDistTransform (the new algorithm only), 因此它们的运行速度在双核CPU上要快 ~50-80% , 当代码用 Intel
2006-11-22 14:32:00
3717
原创 基于红绿方格彩色棒的跟踪实现
基于红绿方格彩色棒的跟踪实现跟踪是计算机视觉一个很基本的问题,也有很多算法,MeanShift,Camshift,等等,可是真正鲁棒性 Robust 强的不多,跟踪跟目标的特征有着很大的关系,在研究中我发现在色彩分割基础上,对跟踪目标加上一定的特征,比如红绿搭配,再根据这个特征搜索,红绿方格特征在空间比较辨识,就很容易获得好的鲁棒性。大致做法如下:1。利用HSV空间分割红色空间与绿色
2006-09-30 17:06:00
3809
2
原创 代码下载列表(资源整理)
============================================================================================================http://hardy.gigcities.com/Directshow_Opencv.rar 本文提供了使用directshow代替opencv的vfw 的源代码,与转化为i
2006-09-16 10:24:00
11297
46
原创 camshift 实现自动化跟踪的小技巧
camshift 实现自动化跟踪的小技巧opencv 提供了使用基于颜色的跟踪算法camshift, 很好的算法,可是它是个半自动的算法,它需要用户在跟踪界面设定跟踪的目标。怎么预先设定目标再来跟踪呢?本人偷了个懒,加入了用一张图片来设定跟踪的目标,在启动中加载图片,生成跟踪需要的histogram。这样实现了自动化的跟踪吧。步骤如下:1. 找到你需要跟踪的物体,拿到摄像头前,照一张相(p
2006-09-15 14:13:00
5084
2
原创 如何利用差分方法实现虚拟选择菜单
如何利用差分方法实现虚拟选择菜单一些摄像头程序实现了用差分方法来选择菜单,就是你不断用运动的物体干扰监测目标,它会出现进度条,直到选中,例如camgoo,实际上它实现起来却非常的简单。不过它的作用却是很大。下图绿色表示选择的进度,第一步准备//颜色转化cvCvtColor( image, grey, CV_BGR2GRAY ); //差分cvAbsDiff( gre
2006-07-24 17:10:00
2725
原创 camera calibration 摄像头标定 代码整理(2007-2-6 修正)
这里介绍了一个使用directshow标定与Matlab的示例,写的很详细。 http://w3.impa.br/~pcezar/3dp/original/CVL_html/appPage/doc_calib.html#Tutorial OPENCV没有提供完整的示例,自己整理了一下,贴出来记录。步骤如下:首先自制一张标定图片,用A4纸打印出来,设定距离,再设定标定棋盘的格子数
2006-07-11 15:22:00
11315
32
原创 利用光流法计算人体运动的速度与方向
利用光流法计算人体运动的速度与方向 1.方向的计算首先计算图像各个象素的光流(opencv LK),然后建立4*4窗口对X,Y方向分别做统计求和,然后求得 atan(yy/xx)作为光流方向,即为运动的方向. 2.速度的计算利用帧差分得到运动图像,然后建立4*4窗口对图像进行统计求和,求和值作为权重,表示速度的比例.即运动区域白色(255)面积越大,速度越大.3.结果大部分运动方向
2006-06-15 12:23:00
14909
5
原创 使用directshow代替opencv的vfw的源代码
本文提供了使用directshow代替opencv的vfw 的源代码,与转化为iplimage格式的算法. 实验中发现opencv的cvCaptureFromCAM 使用的是vfw,采用消息机制,速度较慢,测试发现fps只有 9-12左右,太慢了. 发现经过使用directshow后速度提升到60帧/s.在opencv group上了解到这是一个普遍问题,也许有人做过转换,却没有完整的例子与代码
2006-06-01 17:15:00
7328
1
转载 大津法 OTSU的算法
大津法(OTSU法)大津法由大津于1979年提出,对图像Image,记t为前景与背景的分割阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1。图像的总平均灰度为:u=w0*u0+w1*u1。从最小灰度值到最大灰度值遍历t,当t使得值g=w0*(u0-u)2+w1*(u1-u)2 最大时t即为分割的最佳阈值。对大津法可作如下理解:该式实际上就是类间方差值,阈值
2006-05-22 15:10:00
8911
原创 win32开发环境下调试opencv程序的一些技巧
1.如果在win32开发环境下,不方便使用cvShowImage显示到窗体,可以使用cvCreateVideoWriter来记录输出的图像序列char* outFileName = "c://track.avi";//int outCompressCodec = CV_FOURCC(D, I, V, X);//int outCompressCodec = CV_FOURCC(
2006-05-17 12:04:00
3043
原创 利用HSV空间进行分割
进行了简单的颜色分割试验RGB => HSV , 限定s饱和度、v亮度 在 (s>35) && (v>70)之间以h色调为检测条件,结果如下:1。肤色h色调主要在10-40左右2。绿色,绿色是最容易分割的颜色,,h色调范围很大,效果很好,如图。h色调范围在 30 - 90左右3。蓝色在105左右4。红色很难分割,不知道为什么 inline WW_R
2006-04-20 12:05:00
3192
2
原创 看到的一份MINI教材
第十七次活动:使用OpenCV进行图像处理 演讲人:于仕琪 (中科院自动化研究所) 时间: 2006年3月15日,晚7:00 地点:自动化大厦13层第二会议室 主题:使用OpenCV进行图像处理OpenCV是一个很有名的开源图像处理算法库。使用它,你可以在前人成熟算法的基础上迅速地开展自己的工作
2006-03-25 21:14:00
2891
1
原创 如何利用opencv实现投射变换
在应用开发中,如果得到的视频图像是投射变换后的,需要进行校正,可以利用cvWarpPerspective函数实现透视变换,通过透视变换,可实现图像翻转,线性的任意变形。同样也可以利用投射变换 cvGetQuadrangleSubPix实现图像翻转,但是它的自由度要少三个,所以线性的任意变形不能实现。 //透视变换 int HumanMotion::WarpPerspective(Ipl
2006-03-19 13:05:00
4479
原创 代码分享
下载地址:请到帖子 代码下载列表(资源整理) 寻找 简要说明:1.代码基于opencv 5.0 Beta,开发为VC6 sp5,供学习参考使用。2. HumanMotionTrack.rar 是实际视频源的跟踪 HumanMotionTrack_eyetoy.rar 是多边形骨架化提取的代码 HumanMotionTrack_skeleton.rar 是使用OPENGL载入骨
2006-01-01 12:27:00
3896
18
原创 一些学习、数据库资料链接整理
学习SVM的资料http://ntu.csie.org/~piaip/svm/svm_tutorial.html http://www.mlcenter.hbu.edu.cn/lihui/2004.9.29/svm.ppthttp://www.csie.ntu.edu.tw/~cjlin/计算机视觉索引http://iris.usc.edu/Vision-Notes/bibliography/co
2005-10-21 16:22:00
2475
原创 骨架线实验结果2
骨架线实验结果2,实现了中线点的连接,方法是采用记录被切割的三角形,在回复骨架时按照递归的方法寻找邻边三角形.这里我找了一个毕加索大师的斗牛图,并且抽取大师的精髓啊. :)
2005-09-27 14:17:00
2536
2
原创 求骨架线的试验结果
这里我目前回避了delaunay三角形的方法,因为这种方法没办法区分轮廓内部还是外部,而且计算复杂,所以我采用了一个简单的方法,就是按逆时针遍历轮廓,找到最小的夹角,取对应两边的中线点,删除这个夹角点,继续递归,直到多边形为三角形为止。这个方法的优点是速度快,缺点是这种算法丢失了轮廓相连的特性,所以在骨架化时,连线有困难。我在思考如何保存轮廓相连的特性的新算法。
2005-09-22 13:58:00
2086
原创 任意多边形求取骨架线中轴线的思路
任意多边形求取骨架线/中轴线的思路经过一段时间的研究,对于多边形求取骨架线大概看来有如下几个方法:1。通过轮廓内切园圆心的连线可以获得骨架线,这种方法在书中大概介绍了一下,我比较了一下,发现性能差一些。所以放弃这种方法的深入研究。参考网站http://www.mpi-sb.mpg.de/~shin/Research/CCurve/node19.html参考代码http://www.mpi-inf.
2005-09-19 12:28:00
4139
3
翻译 资料翻译:使用运动历史梯度信息完成运动分割与姿态识别,Motion Segmentation and Pose Recognition with Motion History Gradients
因为需要用到这两个牛人的程序,所以就翻译了这篇文章,方便自己加深理解。翻译太差,请别骂我.Motion Segmentation and Pose Recognition with Motion History GradientsGary R. BradskiIntel Corporation, Microcomputer Research LabsSC12-303, 2200 Mission C
2005-09-05 17:02:00
5680
3
原创 利用图像抖动来获取物体的轮廓的新型算法
在做差分试验中,发现对于运动快的手臂效果好,而对于很少运动的身体来讲效果不好,无意中摆动摄像头时,发现它可以获得差分后的轮廓,进一步来讲,如果假设摄像头不动,而图像出现抖动的情况,即整个图像向上向左平移一个单位象素,这样在差分中也可以得到轮廓,所以特地在OPENCV5上实现了这个算法。试验的效果还是不错的。它的好处是一种新颖,简单,计算量小的方法,因为它不需要计算任何梯度,如果采用一些canny,
2005-09-01 11:00:00
2877
2
原创 研究eyetoy
研究eyetoy仔细看了一下eyetoy的antigrav人体跟踪的方法,发现它目前做到简单的跟踪,核心是需要玩家在手臂上带上绿色或是橙色的袖子来方便跟踪,那么需要关心的就是头部,两个手臂位置,这样就可以表达 "倾斜、跳跃、晃动、俯低、加速、煞车" 的动作.这样看起来技术难度其实并不大。我准备试一试。http://ps2.ign.com/articles/513/513219p1.htmlhttp
2005-08-29 11:59:00
1695
原创 摄像头固定到人体上的想法
最近一个老外老问我问题,后来他推荐我看文章,是用来跟踪摄像头运动的,我突然想到如果把摄像头固定到人体上,根据特征点的运动方向与速度,利用EKF实现跟踪,这套东西就可以跟踪人体运动了。虽然它需要那么多的摄像头11个,计算量巨大不过,却是一个有趣的想法。原文参考:Robust Estimation of 3-D Camera Motion for Uncalibrated Augmented Real
2005-08-23 11:52:00
1835
原创 Articulated Soft Objects for Multi-View Shape and Motion Capture 阅读笔记
阅读笔记Articulated Soft Objects for Multi-View Shape and Motion CaptureRalf Pl╝nkers and Pascal FuaComputer Vision LabSwiss Federal Institute of Technology (EPFL)1015 Lausanne, SwitzerlandEmail: Pascal.F
2005-08-22 13:19:00
1719
原创 一些研究人体运动的国外研究室的链接
http://cvlab.epfl.ch/research/index.html一个专门研究人机交互的实验室,看起来成果不错(老外搞研究还要光膀子,好猛:))使用temporal motion models 时态运动模型跟踪结果http://cvlab.epfl.ch/research/body/limits/index.html介绍了如何限制人体关节http://accad.osu.edu/re
2005-08-18 16:10:00
2785
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人