前言

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

using namespace cv;

using namespace cv::face;

static Mat norm_0_255(Mat src) {

Mat dst;

switch (src.channels())

{

case 1:

normalize(src, dst, 0, 255, NORM_MINMAX, CV_8UC1);

break;

case 3:

normalize(src, dst, 0, 255, NORM_MINMAX, CV_8UC3);

default:

src.copyTo(dst);

break;

}

return dst;

}

static void read_csv(const string& filename, vector& images, vector& labels, char separator = ':') {

ifstream file(filename.c_str(), ifstream::in);

if (!file) {

string errorMessage = "没有提供有效的输入文件, 请检查给定的文件名";

CV_Error(Error::StsBadArg, errorMessage);

}

string line, path, classLabel;

while (getline(file, line)) {

stringstream liness(line);

getline(liness, path, separator);

getline(liness, classLabel);

if (!path.empty() && !classLabel.empty()) {

images.push_back(imread(path));

labels.push_back(atoi(classLabel.c_str()));

}

}

}

#if 1

static void detectHumenFrontFace(Mat& rgb, Mat& gray) {

//加载分类器

std::string cascadeFile = "D:/this.Libraries/opencv4.0.dev.64/etc/haarcascades/haarcascade_frontalface_default.xml";

auto cascade = std::make_shared(cascadeFile);

if (cascade->empty()) {

cerr << "文件读取失败..." << endl;

return;

}

std::vector<:rect> rects;

cascade->detectMultiScale(gray, rects);

rectangle(rgb,

Point(rects[0].x - 2, rects[0].y - 2),

Point(rects[0].x + rects[0].width, rects[0].y + rects[0].height),

Scalar(0, 255, 0));

}

int main(int argc, char* args[]) {

VideoCapture video;

video.open(0);

if (!video.isOpened()) {

cerr << "打开相机失败" << endl;

return 1;

}

while (true) {

Mat img;

video >> img;

Mat rgb;

cvtColor(img, rgb, COLOR_BGR2RGB);

Mat gray;

cvtColor(rgb, gray, COLOR_RGB2GRAY);

Mat graysmall2;

resize(gray, graysmall2, Size(gray.cols / 2, gray.rows / 2));

detectHumenFrontFace(rgb, gray);

imshow("image", rgb);

if (waitKey(10) == 'q')break;

}

return EXIT_SUCCESS;

}

#endif

效果图

IDE配置

java opencv 调用摄像头_opencv C++实现调用摄像头动态识别人脸相关推荐

  1. java opencv 物体检测_OpenCV.物体识别

    1.度娘:"OpenCV 物体识别" ZC:主看这个,讲的比较细致,操作一般都是使用的 OpenCV里面的exe,一些代码是 java的 可以搞定,最后一段测试代码 是Python ...

  2. java opencv 相似度_opencv使用 java 对比两个人脸的相似度

    1.创建Java工程,并导入如下jar包 opencv-440.jar 2.编写代码 import org.opencv.core.*; import org.opencv.imgcodecs.Img ...

  3. java opencv 模板匹配算法_OpenCV探索之路(九):模板匹配

    模板匹配的作用在图像识别领域作用可大了.那什么是模板匹配? 模板匹配,就是在一幅图像中寻找另一幅模板图像最匹配(也就是最相似)的部分的技术. 说的有点抽象,下面给个例子说明就很明白了. 在上面这幅全明 ...

  4. java opencv 阀值分割_opencv 阈值分割的具体使用

    阈值分割 像素图 原始图像像素图 见下面 红色线:标注一条阈值线 二进制阈值化 首先设定一条阀值线 如127 大于127的像素点灰度值设为最大(如unit8的格式为255) 小于127的像素点灰度值设 ...

  5. java opencv 提取车牌_opencv 学习之 车牌提取

    车牌识别分两步,一是车牌提取,而是字符识别. 下面是车牌提取. VS2010. OpenCV249. //载入图像 char * path = "d:\\picture\\06.jpg&qu ...

  6. 调用摄像头使用face_recognition 或 opencv中haar人脸特征实时检测识别人脸、给人脸打马赛克/给人脸贴图

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) OpenCV:python调用摄像头同时使用OpenCV中自带 ...

  7. java opencv 实现换脸

    最近碰到个项目,要求是实现人脸交换,即如下图所示,将右边汤唯的脸换成左边鹿晗的脸,变成中间的照片,就是人脸交换. 网上一般都是基于opencv和Dlib来实现,且多为c++或python语言,或app ...

  8. opencv之调用摄像头动态识别二维码

    结合前几篇做的工作,实现一下动态识别二维码 opencv之调用摄像头动态识别二维码

  9. 【OpenCV入门】读取图片/视频/调用摄像头

    我的个人博客:谋仁·Blog 微信公众号:谋仁的麻袋 读取图片 预期效果:从指定路径读取一张图片并显示出来. 源代码: #include <iostream>//输入输出流 #includ ...

最新文章

  1. 史上第二走心的 iOS11-Drag Drop 教程
  2. ios6:新特征介绍
  3. 漫谈 Weblogic CVE-2020-2555
  4. Tesseract-OCR 字符识别-样书训练
  5. 807. 保持城市天际线
  6. Java基础之字符如何截取?
  7. coolpad大神f2Android,酷派大神F2全高清版(8675-FHD Android 5.0)刷Recovery教程
  8. 什么是微信二次开发,如何进行微信二次开发?
  9. FPGA串口波特率计算方法
  10. Python轻松多条件计数与求和
  11. stm32晶振配置不一致导致 Invalid Rom Table 至芯片锁死解决方案
  12. word 分栏后转html,word文档分栏后的页码设置方法
  13. ViewData与ViewBag的区别是什么
  14. 腾讯TDSQL全时态数据库系统论文入选VLDB
  15. 【C++】RAll,裸指针,弃用auto_ptr原因
  16. 【你好,windows】Win10 x64 1709 X64企业G纯净版2019.7.28
  17. 小豹子带你看源码:ArrayList
  18. VIC水文模型在windows环境下运行
  19. 离散元 python_刚开始学习离散元软件Yade,有什么建议?
  20. Daily English Dictation Number Eight

热门文章

  1. Win7快捷方式图标不显示解决办法
  2. UIViewController生命周期
  3. J2SE的30个基本概念
  4. git文件生命周期以及如何管理文件
  5. kubernetes离线一键安装教程
  6. sql优化之物理优化
  7. 无需安装的CLI才是最好的
  8. 支持全球探测点的新一代网站监控
  9. Java快速判断是不是手机号
  10. 【UIKit】UITableView 1