Friday, December 26, 2008
Use WTL under VCExpress
We can use it for our wtl programming free.
1,Download and Install VCExpress 2005 from MSDN.
http://msdn.microsoft.com/vstudio/express/visualc/
2,Download, Install PSDK, and Update VCExpress Setting. Detail:
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx
3,Update the Visual C++ directories in the Projects and Solutions
section in the Options dialog box.Add atl path.
Include files: C:\Program Files\Microsoft Platform SDK\include\atl
4, Change atlwin.h and atlbase.h in PSDK\ATL folder
Change SetChainEntry function at L1725 of atlwin.h,define "int i" at first。
---------------------------------------------------------------
BOOL SetChainEntry(DWORD dwChainID, CMessageMap* pObject, DWORD
dwMsgMapID = 0)
{
int i;
// first search for an existing entry
for(i = 0; i < m_aChainEntry.GetSize(); i++)
---------------------------------------------------------------
Change AllocStdCallThunk and FreeStdCallThunk at L287 of atlbase.h,to new
macro
---------------------------------------------------------------
/* Comment it
PVOID __stdcall __AllocStdCallThunk(VOID);
VOID __stdcall __FreeStdCallThunk(PVOID);
#define AllocStdCallThunk() __AllocStdCallThunk()
#define FreeStdCallThunk(p) __FreeStdCallThunk(p)
#pragma comment(lib, "atlthunk.lib")
*/
#define AllocStdCallThunk() HeapAlloc(GetProcessHeap(),0,sizeof(_stdcallthunk))
#define FreeStdCallThunk(p) HeapFree(GetProcessHeap(), 0, p)
---------------------------------------------------------------
3,Download and Install the WTL from http://wtl.sf.net
4, Download AppWizard for VCExpress from
http://groups.yahoo.com/group/wtl/files/setup80express.zip
Unzip and Copy JS file into WTL\AppWiz folder, double click it to
install WTL Wizard into VCExpress
Enjoy VCExpress&WTL
Wednesday, December 24, 2008
blender 资源
下面这个网站分章节提供了一些视频教程下载,非常清楚
http://www.geneome.net/blender-tutorials/
搜集了三本教程,都是英文版的!值得参考一下!
Blender基础
Blender建筑设计
Blender卡通造型
还有一个个人视频教程网站
一个图文教程集中页面
http://tutlinks.tripod.com/tlinks.html
大家好,为了方便大家能够快速的学习,我对建模部分的视频教程做了一个汇总,视频教程分为两个部分,中文教程和英文教程,如果上传新教程我会更新帖子的内容。如有什么需求可向版主询问,我会尽力给大家收集更多更好的视频教程,欢迎大家下载!
下面是中文建模视频教程
一.基础部分 作者:icebird
1. A-01 认识blender 10'23"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter01/A-01.avi
2.A-02 基本物体操作 15'21"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter01/A-02.avi
3. A-03 视图操作 13'38"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter01/A-03.avi
4.A-04 操作中心点 12'00"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter01/A-04.avi
5.B-01-01 创建网格模型 10'05"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter02/B-01-01.avi
6.B-01-02 点层级修改 11'51"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter02/B-01-02.avi
7.B-01-03 线层级修改 14'21"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter02/B-01-03.avi
8.B-01-04 面层级修改 9'33"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter02/B-01-04.avi
9.B-01-05 复制合并物体 9'46"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter02/B-01-05.avi
10.B-01-06 常用脚本工具和网格工具的使用 11'29"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter02/B-01-06.avi
11.B-01-07 布尔运算 2'52"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter02/B-01-07.avi
12.B-01-08 网格细分与建模练习 20'08"
ftp://ftp.linuxeden.com/blender/Blender_ZH/Icebird_BasicModling/chapter02/B-01-08.avi
二.曲线文字部分 作者:kidux
121 总体概要 5:43
ftp://ftp.linuxeden.com/blender/Blender_ZH/Kidux_curve&Text/121.avi
122 曲线概要 1:57
ftp://ftp.linuxeden.com/blender/Blender_ZH/Kidux_curve&Text/122.avi
123 贝齐尔曲线属性(编辑) 8:28
ftp://ftp.linuxeden.com/blender/Blender_ZH/Kidux_curve&Text/123.avi
124 NURBS曲线属性 10:40
ftp://ftp.linuxeden.com/blender/Blender_ZH/Kidux_curve&Text/124.avi
125 曲线编辑面板介绍 17:38
ftp://ftp.linuxeden.com/blender/Blender_ZH/Kidux_curve&Text/125.avi
126 taperOb&BevOb的操作 17:07
ftp://ftp.linuxeden.com/blender/Blender_ZH/Kidux_curve&Text/126.avi
127 曲线变形和路径动画的简单介绍 5:52
ftp://ftp.linuxeden.com/blender/Blender_ZH/Kidux_curve&Text/127.avi
128 文字模型的介绍 14:01
ftp://ftp.linuxeden.com/blender/Blender_ZH/Kidux_curve&Text/128.avi
下面是英文建模视频教程部分
http://www.51nova.com/blender/chapter01.rar
http://www.51nova.com/blender/chapter02.rar
Tuesday, December 23, 2008
一种基于OpenCV的三维重建实现方案
[日期:2008-06-24] | 来源: 作者:李健 史进 | [字体:大 中 小] |
1 引言
2 三维重建的基本原理
2.1 图像获取
2.2 摄像机标定[4]
2.3 特征提取
2.4 立体匹配[5]
2.5 深度信息确定
2.6 后处理[6]
3 基于OpenCV的三维重建
三维重建中最大的难点也是最重要的部分就是立体匹配部分。在OpenCV中选用基于特征匹配中的极线约束 方法 [9]。
4 实验结果
5 结束与展望
参考 文献
深刻了解OPENCV
深刻了解OPENCV | |
作者:刘瑞祯 文章来源:http://blog.csdn.net/hunnish 点击数: 12240 更新时间:2007-1-12 15:36:36 |
OpenCV是Intel资助的开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV 拥有包括 300 多个C/C++函数的跨平台的中、高层 API。它不依赖与其它的外部库,尽管也可以使用某些外部库。 OpenCV 对非商业应用和商业应用都是免费(FREE)的。(细节参考发布版本的 license)。 另外OpenCV 也为Intel公司的 Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器(当然是INTEL的处理器了)优化的的 IPP 库, OpenCV 将在运行时自动加载这些库。 更多关于 IPP 的信息请参考: http://www.intel.com/software/products/ipp/index.htm 总纲: 用C/C++编写的开源计算机视觉库。 目的是为了实时应用。 独立于操作系统/硬件/图形管理器。 通用的图像/视频载入、保存和获取模块。 底层和高层的应用开发包。 特征: 图像数据的操作 ( 分配、释放、复制、设置和转换)。 图像是视频的输入输出I/O (文件与摄像头的输入、图像和视频文件输出)。 矩阵和向量的操作以及线性代数的算法程序(矩阵积、解方程、特征值以及奇异值等)。 各种动态数据结构(列表、队列、集合、树、图等)。 基本的数字图像处理(滤波、边缘检测、角点检测、采样与差值、色彩转换、形态操作、直方图、图像金字塔等)。 结构分析(连接部件、轮廓处理、距离变换、各自距计算、模板匹配、Hough变换、多边形逼近、直线拟合、椭圆拟合、Delaunay 三角划分等)。 摄像头定标(发现与跟踪定标模式、定标、基本矩阵估计、齐次矩阵估计、立体对应)。. 运动分析(光流、运动分割、跟踪)。 目标识别(特征法、隐马尔可夫模型:HMM)。 基本的GUI (图像与视频显示、键盘和鼠标事件处理、滚动条)。 图像标注(线、二次曲线、多边形、画文字) OpenCV 模块: cv – 主要的OpenCV 函数。 cvaux – 辅助的(实验性的)OpenCV 函数。 cxcore – 数据结构与线性代数支持。 highgui – 图像界面函数。 目前OpenCV方面的资源已经很多了,当然最简单的方法还是在网上搜索一下,比如在在 Google (http://www.google.com )中输入 "OpenCV" 进行相关搜索。这里给出一些作为参考: 参考手册: 英文: 网络资源:: 官方网站:http://www.intel.comhttp://www.china-vision.net/technology/computing/opencv/ 中文官方网站:http://www.opencv.org.cn/ 软件下载:http://sourceforge.net/projects/opencvlibrary/ 书籍: Open Source Computer Vision Library by Gary R. Bradski, Vadim Pisarevsky, and Jean-Yves Bouguet, Springer, 1st ed. (June, 2006). 视频处理的样例程序 (在 彩色跟踪:camshiftdemo 点跟踪:lkdemo 运动分割:motempl 边缘检测: 图像处理的样例程序(在 边缘检测: edge 分割:pyramid_segmentation 形态学操作: morphology 直方图:demhist 距离变换:distrans 椭圆拟合:fitellipse 目前OpenCV的最新版本是 2006年11月发布的 OpenCV 1.0 版,它的一些新特性包括: 新函数与新特征 支持的新编译器/环境: - GCC 4.x - Visual Studio .NET 2005. 注意: 工程文件 .vcproj's 以及相应的环境文件均被转换成 VS.NET 2005 的格式,因此它们不能被 VS.NET 2003 打开。作为工作区,可以将工程文件和工作区转换为 Visual Studio 6.0,再转换到 VS.NET 2003。工程可以在 Win32 以及 x64 (a.k.a. EM64T/AMD64) 平台上编译。默认情况下支持 OpenMP. - 在 MacOSX 上,通用的 OpenCV 二进制代码可以在缺省情况下编译,因此 PPC 和 INTEL MAC‘S 系统全部都支持。 - 取消了对 Borland C++ 的支持,但是仍然有一个脚本文件 utils\gen_make.py 可以通过生成文件makefile.bcc's 来编译 (没有在 RC1 上测试)。 - 新的命令行 makefiles _make\makefile.* 被引入,允许用户在 Win64 (EM64T/AMD64 and Itanium) 平台上编译 OPENCV。具体细节参考文件 INSTALL。 cxcore: - 增加了一些新的函数:cvMixChannels, cvRandShuffle, cvRange, cvCalcPCA, cvProjectPCA, cBackProjectPCA, cvNormalize, cvReduce, cvGetNumThreads, cvSetNumThreads, cvGetThreadNum. 更多细节参考 - 扩展了函数 cvCalcCovarMatrix, cvMulTransposed - 为库增加宏: 见 cxcore/include/cvver.h - 为 CvImage 和 CvMatrix 增加 C++ 类:cxcore/include/cxcore.hpp 以及样例 samples/c/image.cpp - 矩阵的最大通道数增加到 64 个,尽管只有一些特殊函数才处理这样的图像。 cv: - 新函数:cvPyrMeanShiftFiltering, cvWatershed, cvGetAffineTransform. 更多细节见docs/ref/opencvref_cv.htm。 - 扩展:cvDistTransform (true distance transform algorithm), cvThresh (Otsu adaptive algorithm), cvCanny (使用真实梯度) - 所有的滤波函数重新编写过,为线性可分以及不可分滤波增加了新的 C++ 类,并增加了morphology, laplace, box filer .见 cv/include/cv.hpp. API 的变化: cvCamShift, cvBoxPoints 以及所有其它与角度有关的函数,现在都用角度而不是弧度返回 cvaux: - 增加了新的大型视频监控模块,见(cvaux/src/vs and cvaux/include/cvvidsurv.h)。该模块完善了智能目标跟踪功能,见 docs/vidsurv 中的描述。 ml (机器学习): - 这是一个全新的为统计分类、回归以及聚类而写的 C++ 类库. 见 docs/ref/opencvref_ml.htm. - highgui: - 所有的视频捕捉的代码在结构上都重新构造并且按模块划分,采用了更好的函数名字(原有的函数名字通过宏仍然支持)。 - 增加了对 Quicktime (MacOSX) 和 Xine (Linux, (注意查看相关的许可)!)) 的支持. 捆绑与界面: - 现在支持 IPP 5.1.*,而这是一个推荐与OPENCV一起使用的版本。用户可以执行建立单独的IPP DLL 作为二进制版本的分发。见(interfaces/ipp)。 - 大大提高并扩展了与 Python 的绑定(见 interfaces/swig[/python] 以及 samples/python). 优化 应用新的 IPP5.1 功能,下列的滤波函数都被大大优化:cvSobel, cvLaplace, cvErode, cvDilate. cvFilter2D 对于大的内核运行得更快 (使用基于 DFT 的算法) 一些函数可以使用 OPENMP 做并行处理:cvHaarDetectObjects, cvCalcOpticalFlowPyrLK, cvDistTransform (只是对于新算法适用)。因此它们的运行速度在双核CPU上要快 ~50-80% , 当代码用 Intel compiler 或者 MSVC2005 编译时。 OpenCV是一个开源的项目,它的成长与完善均依赖于广大而热情的参与者,因此了解OpenCV的最有效方法无疑是通过互联网来自我学习和认识。当你拿到一个OpenCV版本时,要做的事情,简单而言是: 参考本书以及OpenCV安装包中提供的例子:大量的样例程序是了解OpenCV最直接的方法,OpenCV本身所提供的例子均放置于: 在 Visual Studio 中加载 OpenCV workspace: Microsoft Visual Studio 6.0 使用 opencv.dsw Miscrosoft Visual Studio .NET 2003 使用 opencv.sln Borland C++ BuilderX 使用 cbuilderx/opencv.bpgr 在http://groups.yahoo.com/group/OpenCVOpenCV archives 搜索你感兴趣的主题。 从 scratch 创建新的项目,或者修改现有的 cvsample。 有专门为 Microsoft Visual Studio 设计的 application wizard 用来创建 OpenCV-aware 项目;它们从 http://groups.yahoo.com/group/OpenCV (Files section - 你必须注册为 OpenCV@yahoogroups.com 用户)查找到。 参加OpenCV的邮件组,具体方法是发送邮件到 OpenCV-subscribe@yahoogroups.com,成为成员後并登录後,你可以在 http://groups.yahoo.com/group/OpenCV 阅读内容。 另外也可以访问国内的一些OpenCV站点,如:OpenCV中文站点(http://www.opencv.org.cn)以及 阿须数码 的中文OPENCV论坛(http://www.assuredigit.com/forum ),可以在那里找到很多有用资料。
| |