11 2011 档案

摘要:Bresenham是由Bresenham提出的一种精确而有效地光栅线生成算法,该算法仅使用增量整数计算。另外,它还可以用于显示其它曲线。我们以斜率大于0小于1的线段来进行考虑。以单位x间隔进行取样。每次绘制了当前像素点(xk,yk)之后,需要确定下一个要绘制的点是(xk+1,yk)还是(xk+1,yk+1),需要判断哪一个点像素点更接近线路径。在取样位置,我们使用d1和d2来表示两个像素和线路径的偏移。在像素列位置xk+1处的直线上的y坐标可计算为:y=m(xk+1)+b那么:d1=y-yk=m(xk+1)+b-ykd2=(yk+1)-y=yk+1-m(xk+1)-b要确定那个像素点更接近于线 阅读全文

posted @ 2011-11-28 10:59 江南烟雨hust 阅读(1139) 评论(0) 推荐(0)

摘要:一、下载OpenCV2.3.0下载地址:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3/文件名:OpenCV-2.3.0-win-superpack.exe二、解压上述文件双击,解压至C盘根目录下。默认文件名OpenCV2.3。三、配置Visual Studio 2008点击 工具->选项->项目和解决方案->VC++目录。在“包含文件”下添加以下两个路径:C:\OpenCV2.3\opencv\include\opencvC:\OpenCV2.3\build\include添加库文件C:\ 阅读全文

posted @ 2011-11-18 15:25 江南烟雨hust 阅读(510) 评论(0) 推荐(0)

摘要:今天编译一个OpenGL程序时遇到了一个很奇怪的问题。一个简短的代码,实现画一个三角形。这个工程文件就包含一个cpp文件。工程以前运行时正确的,现在打开运行也正确。我的OpenGL是按照这篇文章进行配置的:点击打开链接。应该没有什么问题。但是当我新建一个工程并把原来的代码拷贝过来,运行便出错。而且我记得以前建立那个工程的时候并没有配置什么东西。为什么两个工程代码一模一样但是运行结果不一样呢?甚是郁闷啊!下面贴代码:#include <GL/glut.h> void init() { glClearColor(0.0,0.0,0.0,0.0); glShadeModel(GL_SMO 阅读全文

posted @ 2011-11-14 19:57 江南烟雨hust 阅读(771) 评论(0) 推荐(0)

摘要:本人在看《C++ Primer(第三版)》中文版看到类一章时,遇到了“有序型”这个概念。(Page527)原文摘录如下:作为特例,有序型的const静态数据成员可以在类体中用一常量值初始化。例如,如果决定用一个字符数组而不是string来存储账户的姓名,那么我们可以用int型的const数据成员指定数组的长度。例如://头文件 class Account{ //... private: static const int namesize = 16; static const char name[namesize]; }; //文本文件 const int Account::namesi... 阅读全文

posted @ 2011-11-10 11:30 江南烟雨hust 阅读(268) 评论(0) 推荐(0)

摘要:静态类成员包括静态数据成员和静态函数成员两部分。 一、 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点: 1.静态数据成员的定义。 静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。 其定义方式与全局变量相同。举例如下: xxx.h文件 :class base{ private: static const int ... 阅读全文

posted @ 2011-11-10 10:51 江南烟雨hust 阅读(306) 评论(0) 推荐(0)

摘要:我在运行《OpenGL编程指南(第六版)》中文版第142页的程序blendeqn.c时,遇到错误:1>------ 已启动生成: 项目: blendeqn, 配置: Debug Win32 ------1>正在编译...1>blendeqn.cpp1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(23) : error C2065:“GL_FUNC_ADD”: 未声明的标识符1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(23) : error C3861:“ 阅读全文

posted @ 2011-11-05 16:36 江南烟雨hust 阅读(2101) 评论(0) 推荐(0)

摘要:Cg(C for Graphcis)语言,是NVIDIA 与Microsoft 合作研发,旨在为开发人员提供一套方便、跨平台(良好的兼容性),控制可编程图形硬件的高级语言。Cg 语言的语法结构与C 语言非常类似,使用Cg 编写的着色程序默认的文件后缀是*. Cg。首先从NVIDIA官方网站上下载Cg编译器:http://developer.nvidia.com/cg-toolkit。下载后直接安装即可。安装成功后在下列目录里会出现cgc.exe文件:C:\Program Files\NVIDIA Corporation\Cg\bin(可能会随着安装目录的不同而有所不同)。Cg 语言规范是公开和 阅读全文

posted @ 2011-11-04 21:57 江南烟雨hust 阅读(3344) 评论(0) 推荐(0)

摘要:题目:一幅图像,背景为黑色,其中包含一些白色孤点,求包含白色点的最小的凸多边形。比如图像:思路:首先找到最下方的白色点。然后遍历每个白色点,求出当前点V1与每个白色点连成的方向向量。找出与单位向量向量(0,1)(当前向量)内积最小的那个方向向量。组成那个向量的白点即和V1相邻的下一个点V2。接着,更新当前向量为V1和V2连成的单位向量。再遍历每个白点,求出当前点V2和每个白色点连成的方向向量。找出与当前向量内积最小的那个单位向量。组成那个向量的白点即和V2相邻的下一个点V3。接着找出和V3相邻的下一个点。直到下一个点变为V1.即所有的边缘点都已找到。参考代码:%寻找包围白色点的最小的凸多边形 阅读全文

posted @ 2011-11-02 12:13 江南烟雨hust 阅读(578) 评论(0) 推荐(0)

摘要:Canny边缘检测算法一直是边缘检测的经典算法。下面详细介绍Canny边缘检测算法的原理以及编程实现。Canny边缘检测基本原理:(1)图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。(2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。(3)类似与Marr(LoG)边缘检测方法,也属于先平滑后求导数的方法。Canny 的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:(1)好的检测 - 算法能够尽可能多地标识出图像中的实际边缘。(2)好的定位 - 标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近。(3)最小响应 - 阅读全文

posted @ 2011-11-01 20:36 江南烟雨hust 阅读(1899) 评论(1) 推荐(0)

摘要:一幅图像,背景为黑色。其中有一个白色物体,其边缘连续。现在要求出其外边缘,即与黑色背景相交的部分,组成边缘线,并且由单个像素组成。思想:首先找到位于图像最上方的那个白色点。然后从这个白色点(当前点)开始搜索下一个相邻的位于边缘上的点。并且定义当前起始搜索方向为方向1(如图一).搜索的方式为:从当前方向开始,按顺时针依次检查每个方向上的相邻点(8连通域),看是否为白色点。如果是,则其为下一个边缘点。在8个方向搜索完毕之前,一定能够搜索到下一个边缘点,因为图像边缘是连续的。接着,把当前点定义为刚刚搜索到的相邻的下一个边缘点。并且修改当前起始搜索方向为:上一步搜索到下一个边缘点的方向逆时针旋转90度 阅读全文

posted @ 2011-11-01 14:34 江南烟雨hust 阅读(828) 评论(0) 推荐(0)

导航