OpenCV-C++-级联分类器训练与使用(2、猫脸检测)

OpenCv中也有自带的训练好的猫脸的数据集:
在这里插入图片描述
上面2个选中的问价就是训练好的猫脸数据集。具体
路径在D:\OpenCv_3.4.1\opencv\build\etc\haarcascades里面。

代码:

#include<opencv2/opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

//数据集文件路径
String catFileName = "D:/OpenCv_3.4.1/opencv/build/etc/haarcascades/haarcascade_frontalcatface.xml";
CascadeClassifier catclassifier;
int main(int argc, char** argv)
{
	if (!catclassifier.load(catFileName))//读取数据集,未找到,则结束,否则继续后面的操作
	{
		cout << "数据集未加载!" << endl;
		return -1;
	}
	Mat src = imread("D:/test/2cat.jpg");//读进来包含猫脸的图片
	if (src.empty())
	{
		cout << "图片未找到!" << endl;
		return -1;
	}
	Mat gray;
	cvtColor(src, gray, CV_BGR2GRAY);//转为灰度图
	vector<Rect>face_cats;//存储猫脸数据
	//在不同尺度空间上计算并检测猫脸
	catclassifier.detectMultiScale(gray, face_cats, 1.1, 3, 0, Size(20, 20));
	//绘制矩形框住猫脸
	for (size_t i = 0; i < face_cats.size(); i++)
	{
		rectangle(src,face_cats[i],Scalar(0, 0, 255), 2, 8, 0);

	}
	imshow("face of cat detect", src);
	waitKey(0);
	return 0;
}

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值