添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

openCV 人形检测

运行效果:



#include <opencv2/opencv.hpp>

using namespace cv;

int main()
{
// 加载Haar级联检测器
CascadeClassifier detector;
detector.load("haarcascade_fullbody.xml");

// 打开视频文件
cv::VideoCapture cap(0);


if (!cap.isOpened()) {
return -1;
}

while (true) {
// 读取视频帧
Mat frame;
cap.read(frame);
if (frame.empty()) {
break;
}

// 预处理图像
Mat gray;
cvtColor(frame, gray, COLOR_BGR2GRAY );
equalizeHist(gray, gray);

// 进行人形检测
std::vector<Rect> detections;
detector.detectMultiScale(gray, detections, 1.1, 3, 0, Size(30, 30));

// 标记检测到的人形
for (const auto& detection : detections) {
rectangle(frame, detection, Scalar(0, 0, 255), 2);
}

// 显示帧
imshow("Frame", frame);

// 按下ESC键退出
if (waitKey(1) == 27) {
break;
}
}

return 0;
}

发布于 2023-04-01 11:35 ・IP 属地江苏