轮廓(2020.4.5)

轮廓

1.内存

cvCreateMemSorage() 内存存储器

cvReleaseMemStorage() 获取有效的内存存储器的 地址

cvClearMemStorage() 清空内存存储器

cvMemStorageAlloc() 从一个内存存储器中申请空间

2.序列

a.序列是某种结构的链表

创建序列 cvCreateSeq()

其中flags

第一类:表示特定的元素类习性

CV_SEQ_ELTYPE_POINT 点坐标:(x,y)

CV_SEQ_ELTYPE_CODE Freeman:0.7

CV_SEQ_ELTYPE_PPOINT 指向一个点的指针:&(x,y)

CV_SEQ_ELTYPE_INDEX 点的整数索引#(x,y)

CV_SEQ_ELTYPE_GRAPH_EDGE &next_0,&next_d,&vtx_o,&vtx_d

CV_SEQ_ELTYPE_GRAPH_VERTEX first_edge,&(x,y)

CV_SEQ_ELTYPE_TRIAN_ATR 二叉树的节点

CV_SEQ_ELTYPE_CONNECTED_COMP 联通的区域

CV_SEQ_ELTYPE_POINT3D 三维的点坐标:(x,y,z)

第二类用于序列本身的性质

CV_SEQ_KIND_ 元素的集合

CV_SEQ_KIND_ 元素所定义的曲线

CV_SEQ_KIND_ 二叉树

CV_SEQ_KIND_GRAPH 图,其接电脑为序列内元素

第三类表示序列的其他属性

CV_SEQ_FLAG_CLOSED 序列是闭合的(多边形)

CV_SEQ_FLAG_SIMPLE 序列是简单的(多变形)

CV_SEQ_FLAG_CONVEX 序列是凸的(多边形)

CV_SEQ_FLAG_HOLE 序列是一个嵌套的多边形

b.删除序列

cvClearSeq()

c.直接访问序列中的 元素

cvGetSeqElem()

d.切边、复制和移动序列中的数据

cvCloneSeq() 深度复制一个序列

cvSeqSlice() 为序列中的子序列生成一个新的序列

cvSeqRemoveSlice() 删除序列

cvSeqInsertSlice() 添加序列

cvSeqSort() 对序列进行排序

cvSeqSearch() 查询序列中的元素

cvSeqInvert() 进行逆序操做

cvSeqPartition() 进行拆分序列

cvSeqInsert() 插入元素

cvSeqRemove() 删除元素

cvSetSeqBlockSize() 改变块的大小

cvCvtSeqToArray() 序列转换为数组

3.查找轮廓

cvFindContours() 从二值图像中寻找轮廓

freeman链码

4.绘制轮廓

cvDrawContours()

cvApproxPoly() 多边形逼近法

5.特性概括

cvArcLength() 返回轮廓长度

cvContourArea() 计算轮廓面积

cvBoundingRect() 获取矩形边界框

cvBox2D() 返回一个包围轮廓的最小的长方形

cvMinEnclosingCircle() 计算完全包围已有轮廓的最小圆

cvMaxRect() 最小外包矩形

cvBoxPoints() 表示矩形的四个点

6.轮廓的匹配

cvContourcMoments() 计算轮廓矩

使用Hu矩进行匹配 cvMatchShape()

等级匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值