关于#Qt#的问题,如何解决?

你好 可以请问一下吧Qt上的人脸识别程序移植到android上应该怎么操作吗 怎么吧深度学习人脸识别替换opencv自带的人脸识别求帮忙

可以使用JavaCV,或者opencv_contrib repo中的FaceRecognizer类。
可以参考:


https://stackoverflow.com/questions/18187084/face-recognition-using-opencv-in-android

https://stackoverflow.com/questions/7949494/how-to-do-face-recognition-using-opencv

 
如果答案对您有所帮助,望采纳。

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7483590
  • 这篇博客你也可以参考下:opencv使用qt的mingw编译遇到的问题即解决办法
  • 除此之外, 这篇博客: 【基于OpenCV、Qt的人脸识别及硬件控制】中的 人脸识别 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 首先打开摄像头、读取图片并对图片进行处理、进行人脸识别,将图片转成QImage对象,将QPixmap图像显示到label中(QPixmap主要是用于绘图,针对屏幕显示而最佳化设计),部分代码如下:

    void MainWindow::timerEvent(QTimerEvent *event)//定时器处理函数
     //若timer_ID、study_timerID、check_timerID定的时间到时,则会进入此函数
     {
     /***人脸识别显示到label中***/
     if(timer_ID == event->timerId())
     {
    	 v.read(src);//把读到的摄像头图片存储到原图src中
    	 flip(src,src,1);//将图片进行翻转,否则label中呈现出来的是和实际动作相反的
    	 cvtColor(src,rgb,CV_BGR2RGB);//要在label中显示图片需要将bgr图片转换为rgb图片
     	 cvtColor(rgb,gray,CV_BGR2GRAY);//将后续用到的rgb图片转换为gray灰度图为了处理人脸识别时数据是单通道的,数据量小
    	 c.detectMultiScale(gray,faces,1.1,3,0,Size(24,24));//人脸识别
    	 for(uint i=0;i<faces.size();i++)//循环找屏幕中的多个脸
    	 rectangle(rgb,faces[i],Scalar(255,0,0),2,LINE_8,0);//并给检测到的人脸画红框
     	 cv::resize(rgb,rgb,Size(400,300));//更改rgb图片的大小
    	 ui->label_show->resize(QSize(400,300));//更改label的大小
     QImage img(rgb.data,rgb.cols,rgb.rows,rgb.cols*rgb.channels(),QImage::Format_RGB888);
    
     //要在label中显示图片需把Mat类型的rgb图片转换为QImage类型图片
    	 ui->label_show->setPixmap(QPixmap::fromImage(img));//要在label中显示图片需把QImage图片转换为QPixmap类型
     }