• 大小: 5.38M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-04-15
  • 语言: Python
  • 标签: 识别  

资源简介

用opencv进行姿态识别,人体姿态检测和动作识别

资源截图

代码片段和文件信息

#include “opencv2/opencv.hpp“
#include
using namespace std;
using namespace cv;

Point center;
Point fre_center;  //用于存储前一帧目标中心
int num=0;
vector points;

Mat MoveDetect(Mat background Mat img)
{

Mat result = img.clone();
Mat gray1 gray2;
cvtColor(background gray1 CV_BGR2GRAY);
cvtColor(img gray2 CV_BGR2GRAY);

Mat diff;
absdiff(gray1 gray2 diff);

//imshow(“absdiss“ diff);
threshold(diff diff 45 255 CV_THRESH_BINARY);
//imshow(“threshold“ diff);
 
Mat element = getStructuringElement(MORPH_RECT Size(2 2));
Mat element2 = getStructuringElement(MORPH_RECT Size(1010));

medianBlur(diff diff 5);
//imshow(“medianBlur“ diff);

/*blur(diff diff Size(10 10));
imshow(“blur“ diff);*/

erode(diff diff element);
//imshow(“erode“ diff);
 
dilate(diff diff element2);
imshow(“dilate“ diff);

vector> contours;  
vector hierarcy;
findContours(diff contours hierarcy CV_RETR_EXTERNAL CHAIN_APPROX_NONE); //查找轮廓
vector boundRect(contours.size()); //定义外接矩形集合
//drawContours(result contours -1 Scalar(02550) 5 8);  //绘制轮廓

vector box(contours.size());
Point2f rect[4];
int x0=0 y0=0 w0=0 h0=0;
for(int i=0; i {
boundRect[i] = boundingRect((Mat)contours[i]); //查找每个轮廓的外接矩形

x0 = boundRect[i].x;  //获得第i个外接矩形的左上角的x坐标
y0 = boundRect[i].y; //获得第i个外接矩形的左上角的y坐标
w0 = boundRect[i].width; //获得第i个外接矩形的宽度
h0 = boundRect[i].height; //获得第i个外接矩形的高度
if(w0>100 && h0>100)
{
num++;
//rectangle(result Point(x0 y0) Point(x0+w0 y0+h0) Scalar(0 255 0) 2 8); //绘制第i个外接矩形
box[i] = fitEllipse(Mat(contours[i]));
ellipse(result box[i] Scalar(255 0 0) 2 8);
circle(result box[i].center 5 Scalar(0 0 255) -1 8);
center = box[i].center; //保存当前帧的目标中心坐标
//cout<
if(num!=1)
{

//if((center.y-fre_center.y)>20)//检测动作跳
//{
//   printf(“<< //   putText(result “JUMP“ Point(30 70) CV_FONT_HERSHEY_COMPLEX 2 Scalar(0 0 255) 2 8);
//}

//if((fre_center.y-center.y)>20)//检测动作跳
//{
//   //printf(“<< //   putText(result “JUMP“ Point(30 70) CV_FONT_HERSHEY_COMPLEX 2 Scalar(0 0 255) 2 8);
//}

if((center.x-fre_center.x)>2)//检测动作跑
{
   printf(“<<    putText(result “RUN“ Point(30 70) CV_FONT_HERSHEY_COMPLEX 2 Scalar(0 0 255) 2 8);
}

//if((center.x-fre_center.x)>100)//检测动作走
//{
//   printf(“<< //   putText(result “RUN“ Point(30 70) CV_FONT_HERSHEY_COMPLEX 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-16 14:42  dong2\
     目录           0  2018-04-24 10:28  dong2\Debug\
     文件      135680  2018-05-14 16:01  dong2\Debug\dong2.exe
     文件     2294616  2018-05-14 16:01  dong2\Debug\dong2.ilk
     文件     1985536  2018-05-14 16:01  dong2\Debug\dong2.pdb
     目录           0  2018-04-17 10:37  dong2\dong2\
     目录           0  2018-05-14 16:01  dong2\dong2\Debug\
     文件       22440  2018-05-14 16:01  dong2\dong2\Debug\CL.read.1.tlog
     文件         280  2018-05-14 16:01  dong2\dong2\Debug\CL.write.1.tlog
     文件         596  2018-05-14 16:01  dong2\dong2\Debug\cl.command.1.tlog
     文件        1183  2018-04-20 10:15  dong2\dong2\Debug\dong2.Build.CppClean.log
     文件          58  2018-05-14 16:01  dong2\dong2\Debug\dong2.lastbuildstate
     文件        3260  2018-05-14 16:01  dong2\dong2\Debug\dong2.log
     文件      566125  2018-05-14 16:01  dong2\dong2\Debug\dong2.obj
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link-cvtres.read.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link-cvtres.write.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link-mt.read.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link-mt.write.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link-rc.read.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link-rc.write.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link.1112-cvtres.read.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link.1112-cvtres.write.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link.1112-mt.read.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link.1112-mt.write.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link.1112-rc.read.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link.1112-rc.write.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link.1112.read.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link.1112.write.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link.2844-cvtres.read.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link.2844-cvtres.write.1.tlog
     文件           2  2018-05-14 16:01  dong2\dong2\Debug\link.2844-mt.read.1.tlog
............此处省略80个文件信息

评论

共有 条评论