删除指定轮廓
来源:互联网 发布:java ee 新闻策划案例 编辑:程序博客网 时间:2024/06/06 03:52
删除指定轮廓
typedef struct Contours{//轮廓点结构体,通过malloc来分配int height;//bmp Y坐标int width;//bmp X坐标int stateFlag;//点类型标志位} contour;typedef struct ContourInfo{//轮廓信息结构体,通过malloc来分配int position;//记录单个轮廓在轮廓点序列中的起始位置int count;//记录单个轮廓的点个数} contourInfo;
void contourDelete( contour* _rContours, const contourInfo* _ContoursInfo, const int _Contour_I ){int contour_Position = 0;//需删除的轮廓点的位置int contour_Count = 0;//需删除的轮廓的偏移量int contour_Point_Sum = 0;//用于保存轮廓点的总数量int contour_Memcpy = 0;//需拷贝的contour数量int contour_Surplus = 0;//剩余轮廓点总数contour* offset_Start = NULL;//用于删除指定位置轮廓的偏移量头指针contour* offset_End = NULL;//用于删除指定位置轮廓的偏移量尾指针contour_Point_Sum = _rContours[0].stateFlag;//保存点总数contour_Position = _ContoursInfo[ _Contour_I].position;//头位置contour_Count = contour_Position + _ContoursInfo[ _Contour_I].count;//尾位置+1offset_Start = _rContours + contour_Position;//输入删除部分的偏移量offset_End = _rContours + contour_Count;//输入删除部分的偏移量contour_Memcpy = contour_Point_Sum - contour_Count;//计算拷贝数量contour_Surplus = contour_Point_Sum - _ContoursInfo[ _Contour_I].count;//计算剩余轮廓点个数memcpy( offset_Start, offset_End, contour_Memcpy * sizeof( contour) );//拷贝并覆盖删除部分offset_Start = _rContours + contour_Surplus;//将偏移后需删除的尾部的头指针定位memset( offset_Start, 0, (_ContoursInfo[ _Contour_I].count) * sizeof( contour) );//剩余位置置0_rContours[0].stateFlag = contour_Surplus;//将剩余轮廓点数保存}
0 0
- 删除指定轮廓
- vtkFeatureEdges提取多边形数据“指定”的轮廓
- 删除轮廓树中面积较小的轮廓
- OpenCV 删除轮廓的方法(一)
- OpenCV 删除轮廓的方法(二)
- 轮廓
- 删除指定进程
- 删除指定进程
- 删除指定字符串
- MySQL删除指定行
- 删除指定文件夹plugin
- php 删除指定文件
- java删除指定文件夹
- GridView删除指定行
- shell删除指定文件夹
- List 删除指定元素
- 矩阵删除指定维
- 删除指定位置字符
- 合泰云天郭庆:云清洗三打DDoS
- uboot下载地址
- .Net程序员玩转Android开发---(19)Android IntentService服务
- ViewPager+FragmentTabhost 解决办法
- MyEclipse10.0安装配置pydev插件
- 删除指定轮廓
- nginx http 跳转到https
- linux之cut用法
- 0104 Ant使用【基础】
- iOS 自定义控件 progressView(环形进度条)
- git push提交时报错,拒绝提交
- 1022.Digital Library
- org.json的包的使用
- Java数字的格式化&& Java list 交集、并集、差集,去重复并集