- 博客(11)
- 资源 (12)
- 收藏
- 关注
原创 图像分割之最大连通域算法
CvSeq* contours = 0; <br />CvMemStorage* g_storage = NULL; <br />g_storage = cvCreateMemStorage(0); <br />cvFindContours( m_image, g_storage, &contours, sizeof(CvContour), CV_RETR_EXTERNAL);<br />if(contours==NULL) <br />return NULL; <br />CvSeq*
2011-05-31 10:18:00 4496
转载 Zernike矩
<br /><br />Zernike在1934年引入了一组定义在单位圆 上的复值函数集{ },{ }具有完备性和正交性,使得它可以表示定义在单位圆盘内的任何平方可积函数。其定义为:<br /><br /> 表示原点到点 的矢量长度; 表示矢量 与 轴逆时针方向的夹角。<br /> 是实值径向多项式:<br /><br />称为Zernike多项式。<br />Zernike多项式满足正交性:<br /><br />其中<br /> 为克罗内克符号, <br /> 是 的共轭多项式。<br />由于Zern
2011-05-31 09:53:00 9582 1
转载 Hu矩
在连续情况下,图像函数为 ,那么图像的p+q阶几何矩(标准矩)定义为:p+q阶中心距定义为:其中 和 代表图像的重心,对于离散的数字图像,采用求和号代替积分: 和 分别是图像的高度和宽度;归一化的中心距定义为: ;其中利用二阶和三阶归一化中心矩构造了7个不变矩 :这7个不变矩构成一组特征量,Hu.M.K在1962年证明了他们具有旋转,缩放和平移不变性。实际上,在对图片中物体的识别过程中,只有 和 不变性保持的比较好,其他的几个不变矩带来的误差比较大,有学者认为只有基于二阶矩的不变矩对二维物体的描述才是真正的
2011-05-31 09:44:00 19435 3
转载 Zernike 矩
<br /><br />在模式识别中,一个重要的问题是对目标的方向性变化也能进行识别。Zernike 矩是一组正交矩,具有旋转不变性的特性,即旋转目标并不改变其模值。。由于Zernike 矩可以构造任意高阶矩,所以Zernike 矩的识别效果优于其他方法.<br />Zernike 提出了一组多项式{ V nm ( x , y) } 。这组多项式在单位圆{ x2 + y2 ≤1} 内是正交的,具有如下形式: V nm ( x , y) = V nm (ρ,θ) = Rnm (ρ) exp ( jmθ) ,并
2011-05-25 11:43:00 4154
原创 YCrCb
<br />YCrCb即YUV,主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB要求三个独立的视频信号同时传输)。<br /><br /><br />其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;<br />而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。<br />“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加
2011-05-23 14:54:00 1224
原创 “对图像进行阀值化处理”是什么意思?
<br /><br />“对图像进行阀值化处理”是什么意思?<br />阀值化处理就是当灰度值低于一个值(阀值,根据你的需要设定)时,让其成为一个小的值;当灰度值大于一个值(阀值)时,让其成为一个大的值. <br />比如:灰度在0-255, 当灰度小于128时赋值为0,大于128时赋值为255,即亮的地方更亮,暗的地方更暗.即实现了阀值分割.这样图像就黑白分明,对比度加大了. <br />阀值处理后使图象只有几种颜色<br />如最通常的分为了黑白的二值图象 <br />如黑表示物体白表示背景则
2011-05-23 14:42:00 6744 1
原创 cvResize用法
#include "stdafx.h"#include #include #include int main(int argc, char* argv[]){ IplImage*src = 0; //源图像指针 IplImage*dst = 0; //目标图像指针 float scale = 0.618; //缩放倍数为.618倍
2011-05-23 14:16:00 22155 4
转载 cvMorphologyEx —不推荐使用
<br /> <br /> <br /> 在OpenCV中某些高级形态学变换用cvMorphologyEx函数完成,包括开运算,闭运算,标准形态梯度,白顶帽,黑顶帽运算。但是本博主不推荐使用该函数。 通过查看cvMorphologyEx的源代码,可以发现,在执行开、闭等运算,在进行第二步形态学腐蚀和膨胀时,该函数仍然采用与第一步相同的结构元素进行。这种方法在针对一般对称的结构元素情况是正确的,但是当结构元素为自定义的非对称结构元素时,结果图像会发生错误的偏移。 正确的方法是,如前面在开、闭运
2011-05-16 10:06:00 12464 2
转载 CodeIgniter 数据库操作
<br />转自:http://xinbituya.blogbus.com/logs/21820416.html<br /><br /><br /><br />当你在PHP编程时,每写一个数据库查询的时候,你每次一定要与数据库建立连接。 对CI来说,第一次连接数据库时,你在每个控制器或模型的构造函数里放入这样一行语名:<br /><br />$this->load->database();<br /><br />一旦你这样做了,你不需要重复连接, 在那个控制器或模型就可以做任意多次的查询。<br /><br
2011-05-11 14:01:00 3538
原创 Opencv中cvCopy()和cvCloneImage()的区别
<br /><br />cvCloneImage() 内存泄漏问题<br />cvCloneImage函数:<br /> <br />这个函数已验证会出现较大的内存泄露!!虽然可以释放,但因程序复杂不知道在那里释放,因为它每次拷贝是制作图像的完整拷贝包括头、ROI和数据。每次使用时编译器会分配新的内存空间,不会覆盖以前的内容。一个752*480大小或是稍小的图像,每次泄露的内存大约为1M。<br /> <br />解决方法:<br />使用cvCopy函数代替。<br />cvCopy(pSrcImg,pI
2011-05-09 21:33:00 5102
原创 cvDilate()膨胀 cvErode()腐蚀函数
void cvDilate( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, int iterations=1 );void cvErode( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, int iterations=1 );src 输入图像.dst 输出图像.element 用于膨胀的结构元素。若为 NULL,
2011-05-07 11:14:00 10356
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人