三、图像的几何校正
CCD获取的图像有时几何变形严重,细心的读者可以发现有时作为直线在获取的图像中已经类似为弧线,所以在图像处理系统中,经常要要对图像消除畸变。
设原图像(未畸变图像)用( )坐标系,畸变图像坐标系为( ),两个坐标系之间的关系为:
=h ( ) ; =h ( ) ;
在消除摄像头几何畸变的已有工作中,可以将校正方法分为两类:一类是坐标转换函数h 、h 已知的情况下对图像进行校正,另一类是对这两个函数未知的情况下对图像进行校正。
设 为待校正的畸形图像,g(x,y)为校正后...
阅读全文
二、细化
图像处理中物体的形状信息是十分重要的,为了便于描述和抽取图像特定区域的特征,对那些表示物体的区域通常需要采用细化算法处理,得到与原来物体区域形状近似的由简单的弧或曲线组成的图形,这些细线处于物体的中轴附近,这就是所谓的图像的细化。通俗的说图像细化就是从原来的图像中去掉一些点,但仍要保持目标区域的原来形状,通过细化操作可以将一个物体细化为一条单像素宽的线,从而图形化的显示出其拓补性质。实际上,图像细化就是保持原图的骨架。所谓骨架,可以理解为图象的中轴,例如一个长...
阅读全文
二值图像是一种简单的图像格式,它只有两个灰度级,即”0″表示黑色的像素点,”255″表示白色的像素点,至于如何从一幅普通的图像获得二值图像,请参考我近期在天极网上发表的《Visual C++编程实现图像的分割》一文。二值图像处理在图像处理领域占据很重要的位置,在具体的图像处理应用系统中,往往需要对于获得的二值图像再进一步进行处理,以有利于后期的识别工作。二值图像处理运算是从数学形态学下的集合论方法发展起来的,尽管它的基本运算很简单,但是却可以产生复杂的效果。常用的二值...
阅读全文
为了实现图像的细化算法,笔者定义了一个细化函数,具体实现代码如下:
BOOL SeneBorderThinning(BYTE *pData,int Width,int Height)
{ //pData为指向图像数据的指针,Width和Height为图像的宽度和高度;
int i,j;
int num;
//细化结束标志;
BOOL Finished;
//各个变量用来存储(i,j)位置的八邻域像素点的灰度;
int nw,n,ne,w,e,sw,s,se;
//细化表;
static int erasetable[256]={
0,0,1,1,0,0,1,1,
1,1,0,1,1,1,0,1,
1,1,0,0,1,1,1,1,
0,0,0,0,0,0,0,1,
0,0,1,1,0,0,1,1,
1,1,0,1,1,1,0,1,
1,1,0,0,1,1,1,1,
0,0...
VC, 二值化, 源码阅读全文
C/C++ code
/*************************************************************************
* 函数名称:
* RotateDIB2()
* 参数:
* LPSTR lpDIB – 指向源DIB的指针
* int iRotateAngle – 旋转的角度(0-360度)
* 返回值:
* HGLOBAL – 旋转成功返回新DIB句柄,否则返回NULL。
* 说明:
* 该函数用来以图像中心为中心旋转DIB图像,返回新生成DIB的句柄。
* 调用该函数会自动扩大图像以显示所有的象素。函数中采用双线性插
* 值算法进行插值。
*************************************************...
图像处理, 源码阅读全文
-
前段时间遇到个完全背包问题,于是看了DD牛的背包九讲,对于01背包和完全背包还好理解,不过对于多重背包我一直理解的不是很透彻,尤其是那个复杂度,我一直认为是O(N*V*Σ(log(n[i])))的,但是DD牛的九讲上说是O(V*Σ(log(n[i])),还有就是可以用单调队列优化达到O(N*V),于是上网搜了好多报告,无奈实在不懂。后来问了王向,他说不用单调队列也可以达到O(N*V)的,给了我个网址。昨天下午就学些了下。发现还比较好懂。今天上午就依着那个思路把1014和1742给写了,发现还可以速度不错。
附上1014的带注释代码
阅读全文








最新评论
博客不错 加油
学习LZ好榜样哟
如果再给我一次机会我会说我爱
过来学习下·······
博主的文章很棒,支持! ht
文章很不错 值得学习 呵呵
好文章!值得一看
很不错的,顶一下下
很少关注