Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 基于计算机视觉的人体足部检测_Matlab_Computer Vision - Fatal编程技术网

Matlab 基于计算机视觉的人体足部检测

Matlab 基于计算机视觉的人体足部检测,matlab,computer-vision,Matlab,Computer Vision,我已经尝试过通过输入负片和正片图像来检测图像,但它没有起到作用。我想检测图片中的人是否赤脚。物体检测器应该检测赤脚。在负片中我只给出了鞋子的图像。如果我能在opencv中做到这一点,请分享这一技术 Foots images文件夹包含labelingSession.mat,其中包含ROI(感兴趣区域)的信息 如果你只对提取脚部图像感兴趣,那么基于HSV的皮肤检测,然后重复扩张应该会产生更好的结果。见下面的代码: #include<iostream> #include<open

我已经尝试过通过输入负片和正片图像来检测图像,但它没有起到作用。我想检测图片中的人是否赤脚。物体检测器应该检测赤脚。在负片中我只给出了鞋子的图像。如果我能在opencv中做到这一点,请分享这一技术

Foots images文件夹包含labelingSession.mat,其中包含ROI(感兴趣区域)的信息


如果你只对提取脚部图像感兴趣,那么基于HSV的皮肤检测,然后重复扩张应该会产生更好的结果。见下面的代码:

#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<stdio.h>
using namespace std;
using namespace cv;

int main()

{

Mat f=imread("f2.png");//positive
Mat hsv_th;
cvtColor(f,f,CV_BGR2HSV);

inRange(f,Scalar(0,100,0),Scalar(100,255,100),hsv_th);
dilate(hsv_th,hsv_th,cv::Mat());
dilate(hsv_th,hsv_th,cv::Mat());
dilate(hsv_th,hsv_th,cv::Mat());
dilate(hsv_th,hsv_th,cv::Mat());


for(;;)
{
  imshow("fore",f);
  imshow("hsv",hsv_th);

 char c=waitKey(10);
 if(c=='b')//break when 'b' is pressed
      {
         break;
      }
 }
return 0;
}
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
使用名称空间cv;
int main()
{
Mat f=imread(“f2.png”);//正
Mat hsv_th;
CVT颜色(f,f,CV_BGR2HSV);
范围(f,标量(0100,0),标量(100251100),hsv_th);
扩张(hsv_th,hsv_th,cv::Mat());
扩张(hsv_th,hsv_th,cv::Mat());
扩张(hsv_th,hsv_th,cv::Mat());
扩张(hsv_th,hsv_th,cv::Mat());
对于(;;)
{
imshow(“fore”,f);
imshow(“hsv”,hsv_th);
字符c=等待键(10);
if(c=='b')//按下'b'时中断
{
打破
}
}
返回0;
}

如果你只对提取脚部图像感兴趣,那么基于HSV的皮肤检测,然后重复扩张应该会产生更好的结果。见下面的代码:

#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<stdio.h>
using namespace std;
using namespace cv;

int main()

{

Mat f=imread("f2.png");//positive
Mat hsv_th;
cvtColor(f,f,CV_BGR2HSV);

inRange(f,Scalar(0,100,0),Scalar(100,255,100),hsv_th);
dilate(hsv_th,hsv_th,cv::Mat());
dilate(hsv_th,hsv_th,cv::Mat());
dilate(hsv_th,hsv_th,cv::Mat());
dilate(hsv_th,hsv_th,cv::Mat());


for(;;)
{
  imshow("fore",f);
  imshow("hsv",hsv_th);

 char c=waitKey(10);
 if(c=='b')//break when 'b' is pressed
      {
         break;
      }
 }
return 0;
}
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
使用名称空间cv;
int main()
{
Mat f=imread(“f2.png”);//正
Mat hsv_th;
CVT颜色(f,f,CV_BGR2HSV);
范围(f,标量(0100,0),标量(100251100),hsv_th);
扩张(hsv_th,hsv_th,cv::Mat());
扩张(hsv_th,hsv_th,cv::Mat());
扩张(hsv_th,hsv_th,cv::Mat());
扩张(hsv_th,hsv_th,cv::Mat());
对于(;;)
{
imshow(“fore”,f);
imshow(“hsv”,hsv_th);
字符c=等待键(10);
if(c=='b')//按下'b'时中断
{
打破
}
}
返回0;
}

如果您计划将脚检测作为一种工具(即,您可以使用第三方库),那么您可以查看OpenPose,它包括场景中所有人的每只脚的大脚趾、小脚趾、脚跟和脚踝关键点检测。链接:


我的猜测是,您可以直接在应用于每个关键点的SIFT/SURF功能的顶部应用SVM检测器。

如果您计划使用脚部检测作为工具(即,您可以使用第三方库),那么您可以查看OpenPose,其中包括大脚趾、小脚趾、脚跟、,以及场景中所有人的每只脚的脚踝关键点检测。链接:


我的猜测是,您可以直接在应用于每个关键点的SIFT/SURF特征之上应用SVM检测器。

请将您用作正/负样本的样本图像发布到X。haar cascade训练并非如此。你的底片还可以(应该扩展到没有脚/鞋的基本图像),但是你的底片必须被压平,只留下脚和一点背景(每个样品的高宽比相同)。您必须决定是只从固定角度(近似角度)检测赤足,还是需要每侧的组合分类器。这可能会显著影响分类器的质量。或者您是否通过在samples.txt文件中注释区域来隐式裁剪positice样本?我使用matlab中的training image labeler对阳性样本的感兴趣区域进行注释,不同角度的注释可能尺寸不同,但我希望从固定角度(正面姿势)。所以我想我会从正面抓拍足够多的图片,并在此基础上学习分类器,同时扩展负片样本。我在哪里可以获得基本图片?我建议你实际选择具有代表性的照片,并将它们放在post中。请将你用作正片/负片样本的post样本图片发送到X。haar cascade训练并非如此。你的底片还可以(应该扩展到没有脚/鞋的基本图像),但是你的底片必须被压平,只留下脚和一点背景(每个样品的高宽比相同)。您必须决定是只从固定角度(近似角度)检测赤足,还是需要每侧的组合分类器。这可能会显著影响分类器的质量。或者您是否通过在samples.txt文件中注释区域来隐式裁剪positice样本?我使用matlab中的training image labeler对阳性样本的感兴趣区域进行注释,不同角度的注释可能尺寸不同,但我希望从固定角度(正面姿势)。所以我想我会从正面抓拍足够多的图片,并在此基础上学习分类器,同时扩展负片样本。我在哪里可以得到基本的图片?我建议你实际选择有代表性的图片并把它们放在帖子里。