资源简介
从静态的视频帧中获取的人物图片先二值化,再利用开操作闭操作以及轮廓填充,获取人物轮廓
代码片段和文件信息
// DetectionPic.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include “cv.h“
#include “highgui.h“
#include “cxcore.h“
#include
#include “video/background_segm.hpp“
#include
using namespace cv;
using namespace std;
int _tmain(int argc _TCHAR* argv[])
{
int frameNum = 0count=0;
Mat frame maskframe2;
CvScalar exter_hole inter_hole;
CvMemStorage *storage = cvCreateMemStorage(0);
CvSeq *contour = 0;
int contours = 0;
IplImage *dst_gray = NULL *dst_filed = NULL *dst_DE = NULL *dst_contour = NULL *img_del = NULL *img = NULL;
Mat element1 = getStructuringElement(MORPH_ELLIPSE Size(2 2) Point(-1 -1));
Mat element2 = getStructuringElement(MORPH_CROSS Size(2 2) Point(-1 -1));
img = cvLoadImage(“E://图库//3.jpg“1);
cvNamedWindow(“Contour_“ 1);
cvShowImage(“Contour_“ img);
cvWaitKey(1);
img_del = cvCreateImage(cvGetSize(img) img->depth 1);
dst_gray = cvCreateImage(cvGetSize(img) img->depth 1);
dst_filed = cvCreateImage(cvGetSize(img) img->depth 1);
dst_contour = cvCreateImage(cvGetSize(img) img->depth 1);
cvCvtColor(img img_del CV_BGR2GRAY);//转为灰度图
//cvCopy(&imgimg_del);
//转为二值图
cvThreshold(img_del dst_gray 100 255 CV_THRESH_BINARY_INV);
cvNamedWindow(“Gray“ 1);
cvShowImage(“Gray“ dst_gray);
waitKey(1);
//膨胀腐蚀
//cv::erode((Mat(dst_gray)) frame element2 cv::Point(-1 -1) 1);//腐蚀
cv::dilate(Mat(dst_gray) frame element1 cv::Point(-1 -1) 3);
cv::erode(frame frame element2 cv::Point(-1 -1) 1);//腐蚀
frame.copyTo(frame2);
dst_DE = &IplImage(frame2);
//空洞填充
dst_filed = cvCloneImage(dst_DE);
//cvfindcontours会改变输入图片
contours = cvFindContours(dst_filed storage &contour sizeof(CvContour) CV_RETR_LIST CV_CHAIN_APPROX_NONE);
for (; contour != 0; contour = contour->h_next)
{
count = contour->total;
if (count < 2)
continue;
else
{
//cv::Size(cv::Size(row col)
- 上一篇:一个判断字符串编码类型的类,支持多种编码
- 下一篇:基于单片机花样流水灯原理图及源码
相关资源
- 利用VC++实现Sutherland-Hodgman算法多边形
- c++_多进程对文件进行分块读取并进行
- librdkafka c++ API 中文版
- 一个简单的c++ 爬虫
- 4737 C++程序设计 自考串讲笔记
- FTP客户端程序设计(基于visual c++)
- 机器人手臂
- C++读取INI文件中指定Section下的所有
- C++MFC物资管理系统源码.zip
- crc32源代码32位crc校验码生成程序源代
- C++ 直接硬盘访问读取 程序和源代码
- 获取验证码c++的程序 含源代码
- vc++6.0 mfc 关于播放.AVI格式的文件源代
- 并查集的C++实现,并查集的建立,合
- 校园导游图(C++)
- 课程设计报告+源码--计算器(C++)
- m×n的长方阵迷宫问题完美求解
- C++串口类 RS232
- c++教师排课程序
- C++获取网络时间
- C++ADO连接SQLServer封装类
- 幂法与反幂法 C++程序
- c++软件实习开发报告
- Python3+Opencv343环境搭建 dll load failed问
- HDLC协议概述及c++实现
- C++自动生成等高线源程序
- c++简单线程池的实现
- Visual C++实现的FFT变换
- 数据结构课程设计公交线路优化查询
- vc++注册表文件关联,图标关联
评论
共有 条评论