随笔分类 -  C++

Programming techniques.
摘要:在VTK中,图像数据被作为一种特别的数据类型来处理,由vtkImageData表示,这种数据类型是结构化的,这意味着每个数据点的位置可隐含由图像数据的原点(第一张图像左下角在世界坐标系中的位置)、数据点间距(沿坐标方向相邻两个数据点的距离,或体素的长宽高)和维数(沿坐标方向体素或数据点的数目)确定。VTK为图像数据提供了很多处理类,这里给出运行成功的代码示例(pReader读取图像文件):(1)计算梯度:vtkImageGradient* pGradient = vtkImageGradient::New();pGradient->SetInput((vtkDataObject*)pRe 阅读全文
posted @ 2012-07-29 21:26 大有|元亨 阅读(2079) 评论(0) 推荐(0)
摘要:1、演员(Actor)代表场景中绘制的实体。通过参数的调节可以设置角色的位置,方向,渲染特性(property),引用(reference),纹理映射(texture)等属性,并可对Actor进行缩放。演员中封装了一个4*4的变换矩阵来实现对演员的位置,方向,大小(缩放)等的操控2、灯光(lights)由vtkLight类实现,可在场景中照亮绘制对象。vtkLight可通过调用参数的改变控制灯光的 状态(开/关)、照射角度、照射强度、颜色等,并支持点光源和平行光源。创建好后加入到Renderer中即可。3、照相机(Camera)由vtkCamera类实现。可以定义观察着的位置、焦点和其他相关属 阅读全文
posted @ 2012-07-27 18:21 大有|元亨 阅读(3440) 评论(0) 推荐(0)
摘要:今天编译工程遇到一个链接错误,clear工程重新编译,删掉debug文件夹重新编译都不能通过,Linking... Creating library Debug/libmain.lib and object Debug/libmain.expLINK : fatal error LNK1201: error writing to program database "E:/NGBOSS/编译工程/JS/Debug/libmain.pdb"; check for insufficient disk spaceError executing link.exe.libmain.dl 阅读全文
posted @ 2012-07-26 10:54 大有|元亨 阅读(2413) 评论(0) 推荐(0)
摘要:command > filename 把把标准输出重定向到一个新文件中command > > filename 把把标准输出重定向到一个文件中(追加)command 1 > fielname 把把标准输出重定向到一个文件中command > filename 2> &1 把把标准输出和标准错误一起重定向到一个文件中command 2 > filename 把把标准错误重定向到一个文件中command 2 > > filename 把把标准输出重定向到一个文件中(追加)command > > filename 2> 阅读全文
posted @ 2012-03-29 23:29 大有|元亨 阅读(3057) 评论(0) 推荐(0)
摘要:1、3D驱动原理与GL_STEREO 如果要让3D显示卡提供立体显示,则必须有两方面的技术:一是立体驱动,二是3D液晶快门。其中,立体驱动为显示驱动部份,能将Direct 3D(或OpenGL)相容的应用软件,由平面显示即时转化为立体显示,从表面上我们所看到的现象,就是普通显示变成了双影显示,这样双影显示就包含了左右眼各自的图象显示与显示器上;3D液晶快门则是一种高速的电子液晶快门,可根据显示立体驱动发出的信号同步调整开关,达到分离显示器上显示的左右眼图像,即时的送给左右眼睛,这样,我们所看到的显示器的双影显示就会变成立体显示。当然,这双影图像必须有在一定的角度上的偏差,而角度通过预设值来调整 阅读全文
posted @ 2011-12-06 00:07 大有|元亨 阅读(1857) 评论(0) 推荐(0)
摘要:浮点(FLOAT)转换为CHARfloat wTemp=3.3;char sBuf[4];char* temp;memset(sBuf,0,sizeof(sBuf));temp=(char*)(&wTemp);sBuf[0] = temp[0] ;sBuf[1] = temp[1];sBuf[2] = temp[2];sBuf[3] = temp[3];CHAR转换为浮点(FLOAT)char sBuf[4];sBuf[0]=0x33;sBuf[1]=0x33;sBuf[2]=0x53;sBuf[3]=0x40;float *w=(float*)(&sBuf);Trackbac 阅读全文
posted @ 2011-12-01 00:00 大有|元亨 阅读(3006) 评论(0) 推荐(0)
摘要:int with= GetSystemMetrics(SM_CXFULLSCREEN); int heigh= GetSystemMetrics(SM_CYFULLSCREEN);通过上边两个函数获取的是显示屏幕的大小,及不包括任务栏等区域。 int cx = GetSystemMetrics( SM_CXSCREEN ); int cy = GetSystemMetrics( SM_CYSCREEN );这两个函数获取的是真正屏幕的大小。用前两个函数获取的大小可能是1024*687 而用下边两个获取的就是1024*768trackback:http://blog.csdn.net/doub. 阅读全文
posted @ 2011-11-23 14:03 大有|元亨 阅读(358) 评论(0) 推荐(0)
摘要:实际上OpenGL画透明是使用的混合的技术,原理比较复杂,但使用起来还是相当简单的。如下面这样写就可以了。 glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable(GL_DEPTH_TEST); // 此处需要禁止深度测试// 画要透明的图形 ........ glDisable(GL_BLEND); trackback:www.cnblogs.com/JohnShao/admin/EditPosts.aspx?opt=1 阅读全文
posted @ 2011-11-16 04:03 大有|元亨 阅读(756) 评论(0) 推荐(0)
摘要:Timer.h 1 ////////////////////////////////////////////////////////////////////////////// 2 // Timer.h 3 // ======= 4 // High Resolution Timer. 5 // This timer is able to measure the elapsed time with 1 micro-second accuracy 6 // in both Windows, Linux and Unix system 7 // 8 // AUTHOR: Song Ho Ahn .. 阅读全文
posted @ 2011-10-14 03:54 大有|元亨 阅读(422) 评论(0) 推荐(0)
摘要:cmake vs qmakeqmake 是为 Qt 量身打造的,使用起来非常方便cmake 使用上不如qmake简单直接,但复杂换来的是强大的功能内置的 out-of source 构建。(目前QtCreator为qmake也默认启用了该功能。参考:浅谈 qmake 之 shadow build)为各种平台和场景提供条件编译可处理多个可执行文件情况,和很好配合 QtTest 工作如何选择?Using CMake to Build Qt Projects一文中说:对简单的Qt工程,采用 qmake对复杂度超过 qmake 处理能力的,采用 cmake尽管如此,如果简单Qt的工程都不知道怎么用 c 阅读全文
posted @ 2011-09-27 10:21 大有|元亨 阅读(4978) 评论(0) 推荐(0)
摘要:明明还能在 Visual Studio 2008 里顺利编译的代码,今天编译的时候,就提示如下错误:Error result 31 returned from 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe'解决方案:右键点击工程,选”属性”==>”配置属性”==>”链接器”==>”清单文件”==>”生成清单”==>设为”否”英文版的 Visual Studio 2008 应该是如下路径:Properties ==> Configuration Properties ==&g 阅读全文
posted @ 2011-09-06 04:02 大有|元亨 阅读(566) 评论(0) 推荐(0)
摘要:弹出式菜单(像点鼠标右键出来的菜单那样的)也是GLUT的一部分,虽然它不能实现我们经常看到的windows系统弹出式菜单的所有的功能,但是它也有很大的作用。给一个程序增加菜单提供了一个比键盘更简单的方法来和程序交互,选择不同选项,而不用去记那些按键。我们首先要做的是创建菜单,创建菜单函数glutCreateMenu的原型如下:int glutCreateMenu(void (*func)(int value));参数:func:为新建的菜单处理菜单事件的函数名。这个函数的返回值是菜单的标识符(menu identifier)。我们的程序中,我们可以相加多少菜单就加多少菜单。对每个菜单我们要指定 阅读全文
posted @ 2011-09-01 00:20 大有|元亨 阅读(2121) 评论(1) 推荐(0)
摘要:一、利用API实现打开文件对话框和利用MFC来实现打开文件对话框。方法一:API部分: 1 OPENFILENAME ofn; 2 char szFile[MAX_PATH]; 3 ZeroMemory(&ofn,sizeof(ofn)); 4 ofn.lStructSize = sizeof(ofn); 5 ofn.lpstrFile = szFile; 6 ofn.lpstrFile[0] = TEXT('\0'); 7 ofn.nMaxFile = sizeof(szFile); 8 ofn.lpstrFilter = TEXT("all\0*.*\0j 阅读全文
posted @ 2011-09-01 00:17 大有|元亨 阅读(3435) 评论(0) 推荐(1)
摘要:OpenCV形态学操作一、图像腐蚀 膨胀 细化的基本原理1.图像细化的基本原理⑴ 图像形态学处理的概念数字图像处理中的形态学处理是指将数字形态学作为工具从图像中提取对于表达和描绘区域形状有用处的图像分量,比如边界、骨架以及凸壳,还包括用于预处理或后处理的形态学过滤、细化和修剪等。图像形态学处理中我们感兴趣的主要是二值图像。在二值图像中,所有黑色像素的集合是图像完整的形态学描述,二值图像的各个分量是Z2的元素。假定二值图像A和形态学处理的结构元素B是定义在笛卡儿网格上的集合,网格中值为1的点是集合的元素,当结构元素的原点移到点(x,y)时,记为Sxy,为简单起见,结构元素为3x3,且全都为1,在 阅读全文
posted @ 2011-08-31 04:25 大有|元亨 阅读(3833) 评论(0) 推荐(0)
摘要:8种排序算法,各算法名称见下表或见源码。运行程序时,将需要你输入一数值,以确定对多少随机数进行排序。然后将会显示各排序算法的耗时。并且你可选择时否进行正序和反序测试。由于水平有限,可能存在一些错误,还请各位多多指点!通过实验我们可将结果列入下表。以下是VC6.0(Release)+win2000pro+128MDDR+P4(1.6G)因为在多任务操作系统下,系统将进行进程序调度,影响实验结果。以下是经过稍微修正过的值。如果要取得更准确的值,我们得多次实验求其平均值。排序算法实验比较(单位:秒)n方法1K10K100K200K100K正序逆序冒泡排序00.42244.790188.462031. 阅读全文
posted @ 2011-08-30 04:32 大有|元亨 阅读(1013) 评论(1) 推荐(0)
摘要:内联函数的执行过程与带参数宏定义很相似,但参数的处理不同。带参数的宏定义并不对参数进行运算,而是直接替换;内联函数首先是函数,这就意味着函数的很多性质都适用于内联函数,即内联函数先把参数表达式进行运算求值,然后把表达式的值传递给形式参数。 内联函数与带参数宏定义的另一个区别是,内联函数的参数类型和返回值类型在声明中都有明确的指定;而带参数宏定义的参数没有类型的概念,只有在宏展开以后,才由编译器检查语法,这就存在很多的安全隐患。 使用内联函数时,应注意以下问题: 1)内联函数的定义性声明应该出现在对该函数的第一次调用之前。 2)内联函数首先是函数,函数的很多性质都适用于内联函数,如内联函数可以重 阅读全文
posted @ 2011-08-25 11:22 大有|元亨 阅读(565) 评论(0) 推荐(0)
摘要:原本用宏定义包起来的代码类似如下:#ifndef A// codes#endif // A现在要加入一个宏定义 B,实现类似这样的条件判断(显然实际上这样是不行的):#ifndef A && ifdef B其实应该这样:#if (!defined A) && (defined B)// codes#endif // !A && B这就修正了之前一直以为的“既生 #ifdef,何生 #if defined”的思维,其实还是有差别的。trackback:http://wutiam.net/2009/08/logical-and-or-operatio 阅读全文
posted @ 2011-08-24 23:21 大有|元亨 阅读(749) 评论(1) 推荐(0)
摘要:https://github.com/http://sourceforge.net/http://www.codeproject.com/http://www.pudn.com/http://www.hackchina.com/http://www.codesoso.comhttp://fayaa.com/updating... 阅读全文
posted @ 2011-08-24 04:25 大有|元亨 阅读(386) 评论(0) 推荐(0)
摘要:1 /* 2 * Timer Class 3 * By Danny Battison 4 * gabehabe@hotmail.com 5 */ 6 7 #include <ctime> 8 9 class CTimer10 {11 public: // everything is public for ease of access12 // begin/end variables13 clock_t begin;14 clock_t end;15 16 // variable declarations used ... 阅读全文
posted @ 2011-08-24 04:24 大有|元亨 阅读(219) 评论(0) 推荐(0)
摘要:https://bilateralfilter.googlecode.com 阅读全文
posted @ 2011-08-24 02:59 大有|元亨 阅读(422) 评论(0) 推荐(0)