資源簡介
需要一款3d攝像頭,項(xiàng)目基于qt5,通過深度圖追蹤人體手勢
代碼片段和文件信息
//?based?on?http://pastebin.com/EHz2a0YP
#include?
#include?
#include?
#include?
#include?
#include?
#include?“Util.h“
using?namespace?cv;
using?namespace?std;
//-----------------------------------------------------------------//
cv::Mat?image?sel?src?hsv;
Scalar?cMin(179255255)?cMax(000);
bool?selecting?=?false;
char?w1[20]?=?“Color?picker“;
char?w2[20]?=?“Picked?color“;
char?w3[20]?=?“Segments“;
//-----------------------------------------------------------------//
void?filter()
{
//?range?based?color?classification
cv::Mat?bw;
cv::inRange(hsv?cMin?cMax?bw);
cv::cvtColor(bw?sel?CV_GRAY2BGR);
cv::imshow(w2?sel);
//?segmentation?with?opening?and?contours
cv::RNG?rng(12345);
cv::Mat?output;
vector?>?contours;
vector?hierarchy;
cv::Mat?kernel?=?getStructuringElement(MORPH_ELLIPSE?Size(44));
cv::morphologyEx(bw?output?MORPH_OPEN?kernel);
cv::findContours(output?contours?hierarchy?CV_RETR_LIST?CV_CHAIN_APPROX_SIMPLE);
cv::Mat?drawing?=?cv::Mat::zeros(output.size()?CV_8UC3);
for(int?i?=?0;?i? {
Scalar?color?=?Scalar(rng.uniform(0255)?rng.uniform(0255)?rng.uniform(0255));
drawContours(drawing?contours?i?color?CV_FILLED);
Moments?m?=?moments(contours[i]);
Point2f?mp?=?Point2f(m.m10/m.m00?m.m01/m.m00);
double?a?=?contourArea(contours[i]);
if(a?>?2000)
{
Scalar?color?=?Scalar(255255255);
drawContours(drawing?contours?i?color);
line(drawing?mp?+?Point2f(-4-4)?mp?+?Point2f(?4?4)?color);
line(drawing?mp?+?Point2f(?4-4)?mp?+?Point2f(-4?4)?color);
}
}
imshow(w3?drawing);
}
//-----------------------------------------------------------------//
static?void?onMouse(int?event?int?x?int?y?int?f?void?*)
{
????std::cout?<“##?UPDATED“?<????
image?=?src.clone();
Vec3b?pix?=?hsv.at(yx);
int?H?=?pix.val[0];
int?S?=?pix.val[1];
int?V?=?pix.val[2];
//--
if(event?==?EVENT_LBUTTONDOWN)
selecting?=?true;
else?if(event?==?EVENT_LBUTTONUP)
selecting?=?false;
if(selecting)
{
if(H? cMin[0]?=?H;
if(S? cMin[1]?=?S;
if(V? cMin[2]?=?V;
if(H?>?cMax[0])
cMax[0]?=?H;
if(S?>?cMax[1])
cMax[1]?=?S;
if(V?>?cMax[2])
cMax[2]?=?V;
filter();
}
//--
Scalar?bgr?=?cvc(hsv2rgb(cvc(cv::Scalar(HSV)))?true);
rectangle(image?Point(35)?Point(1315)?bgr?-1);
stringstream?s;
s?<“HSV=(“?< putText(image?s.str().c_str()?Point(1715)?FONT_HERSHEY_SIMPLEX?.6?Scalar(000)?2);
putText(image?s.str().c_str()?Point(1715)?FONT_HERSHEY_SIMPLEX?.6?Scalar(255255255));
//--
bgr?=?cvc(hsv2rgb(cvc(cMin))?true);
rectangle(image?Point(325)?Point(1335)?bgr?-1);
s.str(““);
s.clear();
s?<“hsv_min=“?<
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-03?15:49??tracker\
?????文件????????1546??2018-02-13?23:09??tracker\CMakeLists.txt
?????目錄???????????0??2018-04-03?12:08??tracker\Data\
?????文件????????4270??2018-02-13?23:09??tracker\Data\Camera.cpp
?????文件????????1591??2018-02-13?23:09??tracker\Data\Camera.h
?????文件?????????950??2018-02-13?23:09??tracker\Data\Datafr
?????文件????????2200??2018-02-13?23:09??tracker\Data\DataStream.cpp
?????文件?????????806??2018-02-13?23:09??tracker\Data\DataStream.h
?????文件????????1421??2018-02-13?23:09??tracker\Data\SolutionStream.h
?????文件????????1621??2018-02-13?23:09??tracker\Data\TextureColor8UC3.h
?????文件????????1890??2018-02-13?23:09??tracker\Data\TextureDepth16UC1.h
?????目錄???????????0??2018-04-03?12:08??tracker\DataStructure\
?????文件????????2071??2018-02-13?23:09??tracker\DataStructure\CustomJointInfo.h
?????目錄???????????0??2018-04-03?12:08??tracker\Detection\
?????文件???????13931??2018-02-13?23:09??tracker\Detection\DetectionStream.h
?????文件???????41720??2018-02-13?23:09??tracker\Detection\FindFingers.cpp
?????文件????????4322??2018-02-13?23:09??tracker\Detection\FindFingers.h
?????文件????????3239??2018-02-13?23:09??tracker\Detection\matlab_helpers.h
?????文件???????18017??2018-02-13?23:09??tracker\Detection\QianDetection.cpp
?????文件????????1787??2018-02-13?23:09??tracker\Detection\QianDetection.h
?????文件????????2900??2018-02-13?23:09??tracker\Detection\TrivialDetector.cpp
?????文件?????????740??2018-02-13?23:09??tracker\Detection\TrivialDetector.h
?????目錄???????????0??2018-04-03?12:08??tracker\Energy\
?????文件???????12208??2018-02-13?23:09??tracker\Energy\Collision.cpp
?????文件?????????902??2018-02-13?23:09??tracker\Energy\Collision.h
?????文件????????2576??2018-02-13?23:09??tracker\Energy\Damping.cpp
?????文件?????????748??2018-02-13?23:09??tracker\Energy\Damping.h
?????文件????????1643??2018-02-13?23:09??tracker\Energy\Energy.cpp
?????文件?????????449??2018-02-13?23:09??tracker\Energy\Energy.h
?????文件????????9111??2018-02-13?23:09??tracker\Energy\Fingertips.cpp
?????文件????????1808??2018-02-13?23:09??tracker\Energy\Fingertips.h
............此處省略303個(gè)文件信息
- 上一篇:redis3.2 版本
- 下一篇:全國手機(jī)號碼前綴匹配的歸屬地
評論
共有 條評論