位置: IT常识 - 正文

【Android App】人脸识别中使用Opencv比较两张人脸相似程度实战(附源码和演示 超详细)(android_app.intro)

编辑:rootadmin
【Android App】人脸识别中使用Opencv比较两张人脸相似程度实战(附源码和演示 超详细)

推荐整理分享【Android App】人脸识别中使用Opencv比较两张人脸相似程度实战(附源码和演示 超详细)(android_app.intro),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android apkpure,apk.renme,apprentice,apk.renme,android-app,android render,apk.renme,android render,内容如对您有帮助,希望把文章链接给更多的朋友!

需要全部代码请点赞关注收藏后评论区留言私信~~~

一、比较两张人脸的相似程度

直方图由一排纵向的竖条或者竖线组成,横轴代表数据类型,纵轴代表数据多少。 图像直方图经常应用于特征提取、图像匹配等方面。

 假设有两幅图像,它们的直方图很相似,这说明两幅图的像素分布相当接近,他们很可能来自相邻场景,相似度越高,两幅图越可能是同样来源,这便是直方图应用于图像匹配的缘由。OpenCV的Imgproc工具有一个compareHist方法,可以比较两个矩阵结构的相似程度,其内部就采用直方图比较两幅图像像素点灰度值的分布情况,因为只有灰度值参加比较,所以要先将全彩矩阵转为灰度矩阵再调用Imgproc的compareHist方法加以判断

相似度比较步骤如下

(1)分别对两张图片检测人脸,得到各自的人脸矩阵数组;

(2)两张图片都找到人脸的话,再从中截取人脸矩阵并转成位图对象;

【Android App】人脸识别中使用Opencv比较两张人脸相似程度实战(附源码和演示 超详细)(android_app.intro)

(3)调整位图尺寸,使得两幅图片的宽高保持一致,也就是把较大的位图缩放到较小位图的尺寸;

(4)把两个位图对象转为灰度矩阵,再通过直方图比较它们的相似度;

由于compareHist方法的返回值在0-1之间,值越大表示越相似,一般相似度达到0.5就很高了

二、效果展示

世界杯进行的如火如荼,现在十六强的名单已经全部出来了,接下来让我们用世界杯中的著名球星的照片来进行相似度比较

1:内马尔与梅西 由结果可见不太像 

2: C罗与梅西 由结果可见比较高了

 

 3:C罗与贝克汉姆(年轻的时候) 由结果可见是相当高的相似度

 三、代码

部分源码如下 需要全部代码请点赞关注收藏后评论区留言私信~~~

package com.example.face;import android.content.Context;import android.content.Intent;import android.graphics.Bitmap;import android.net.Uri;import android.os.Bundle;import android.util.Log;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;import com.example.face.util.BitmapUtil;import com.example.face.util.FaceUtil;import org.opencv.android.BaseLoaderCallback;import org.opencv.android.LoaderCallbackInterface;import org.opencv.android.OpenCVLoader;import org.opencv.android.Utils;import org.opencv.core.Mat;import org.opencv.core.MatOfRect;import org.opencv.core.Rect;import org.opencv.core.Scalar;import org.opencv.core.Size;import org.opencv.imgproc.Imgproc;import org.opencv.objdetect.CascadeClassifier;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;public class CompareImageActivity extends AppCompatActivity { private final static String TAG = "CompareImageActivity"; private int CHOOSE_CODE1=31, CHOOSE_CODE2=32; // 挑选第一张图片和挑选第二张图片的请求码 private Bitmap mBitmap1, mBitmap2; // 第一张图片和第二张图片的位图对象 private ImageView iv_face1, iv_face2; // 第一张图片和第二张图片的图像视图 private TextView tv_result; //
本文链接地址:https://www.jiuchutong.com/zhishi/290753.html 转载请保留说明!

上一篇:阿拉普扎的船屋,印度喀拉拉邦 (© Martin Harvey/The Image Bank/Getty Images)(阿普拉萨)

下一篇:卢塞恩老城,瑞士 (© Xantana/Getty Images)(卢塞恩小镇瑞士)

  • 哈啰出行导航怎么切换(哈啰出行导航怎么设置)

    哈啰出行导航怎么切换(哈啰出行导航怎么设置)

  • 荣耀v40和vivox60pro的区别有哪些(荣耀v40和vivox60哪个好)

    荣耀v40和vivox60pro的区别有哪些(荣耀v40和vivox60哪个好)

  • 激萌上怎么找回以前的贴纸(激萌怎么找回以前的贴纸)

    激萌上怎么找回以前的贴纸(激萌怎么找回以前的贴纸)

  • oppo手机突然显示hd2(oppo手机突然显示oppo页面不动了)

    oppo手机突然显示hd2(oppo手机突然显示oppo页面不动了)

  • 华为mate30反向充电可以给哪些手机充电(华为mate30反向充电怎么会自动关闭)

    华为mate30反向充电可以给哪些手机充电(华为mate30反向充电怎么会自动关闭)

  • 微信朋友圈提到了谁别人可以看见吗(微信朋友圈提到别人 共同好友知道吗)

    微信朋友圈提到了谁别人可以看见吗(微信朋友圈提到别人 共同好友知道吗)

  • 摄像头夜视原理(摄像头夜视原理是什么)

    摄像头夜视原理(摄像头夜视原理是什么)

  • 站内信形式是什么意思(什么是站内信)

    站内信形式是什么意思(什么是站内信)

  • sht-w09是什么型号(sht-w09参数)

    sht-w09是什么型号(sht-w09参数)

  • opporenoz和reno有什么不同(opporenoz与opporeno)

    opporenoz和reno有什么不同(opporenoz与opporeno)

  • 快手推广审核要多久时间(快手推广审核不过钱退吗)

    快手推广审核要多久时间(快手推广审核不过钱退吗)

  • 苹果6plus支持无线充电吗(iphone6 plus支持无线充电吗)

    苹果6plus支持无线充电吗(iphone6 plus支持无线充电吗)

  • 什么是压缩包(什么是压缩包格式)

    什么是压缩包(什么是压缩包格式)

  • 抖音标签是什么(抖音标签是什么样子)

    抖音标签是什么(抖音标签是什么样子)

  • 苹果13系统长截图怎么整(iphone 13 截长图)

    苹果13系统长截图怎么整(iphone 13 截长图)

  • 如何制作视频片尾字幕(如何制作视频片尾关注)

    如何制作视频片尾字幕(如何制作视频片尾关注)

  • 淘宝为什么发不出信息(淘宝为什么发不出去图片)

    淘宝为什么发不出信息(淘宝为什么发不出去图片)

  • 苹果7哪里看诊断与用量(苹果7p怎么看)

    苹果7哪里看诊断与用量(苹果7p怎么看)

  • 快手仅作者粉丝可见怎么取消(快手仅作者粉丝可见怎么关)

    快手仅作者粉丝可见怎么取消(快手仅作者粉丝可见怎么关)

  • 怎么导出全民K歌本地录音(怎么导出全民K歌的录音)

    怎么导出全民K歌本地录音(怎么导出全民K歌的录音)

  • 知乎免打扰模式如何设置(知乎怎么设置不接受邀请)

    知乎免打扰模式如何设置(知乎怎么设置不接受邀请)

  • 如何消除华为弹出广告(如何消除华为弹窗提示)

    如何消除华为弹出广告(如何消除华为弹窗提示)

  • Vue3 京东到家项目实战第一篇(首页及登录功能开发) 进阶式掌握vue3完整知识体系(京东到家的物流模式)

    Vue3 京东到家项目实战第一篇(首页及登录功能开发) 进阶式掌握vue3完整知识体系(京东到家的物流模式)

  • Linux--Tomcat部署web服务接口访问报404(linux部署tomcat的war包)

    Linux--Tomcat部署web服务接口访问报404(linux部署tomcat的war包)

  • slabtop命令  实时显示内核slab缓冲信息(topas命令详解)

    slabtop命令 实时显示内核slab缓冲信息(topas命令详解)

  • python字符串如何简单运算(python字符串如何换行)

    python字符串如何简单运算(python字符串如何换行)

  • 补提去年所得税会计分录怎么写
  • 计算本月应交所得税
  • 累进税率的税种有哪些
  • 房地产企业所得税纳税义务发生时间
  • 暂估成本会计处理
  • 开给个人的普票购买方怎么写
  • 融资贷款购车
  • 跨年度其他业务收没有结转入调整
  • 私募基金超募如何购买
  • 准予以后纳税年度结转扣除的项目有
  • 个人转让著作权所得免征个人所得税吗
  • 应交税费应交增值税的三级科目有哪些
  • 应收账款计提坏账后收回
  • 建筑类没收入怎么填
  • 发票所有联次都需要加盖发票章吗
  • 增值税报表附表三如何填写
  • 金融行业信托
  • 股东私人垫支公司支付零星材料的会计分录
  • 产品成本差异总额计算公式
  • 税收滞纳金变化
  • 安置房视同销售需要缴纳所得税吗?
  • 关联方之间债务豁免账务处理
  • 其他应付款和其他应交款区别
  • 法人垫付现金的原始凭证
  • 在电脑桌面上添加快捷程序
  • 台式电脑机箱怎么选
  • 公司提取员工公积金
  • elementui常用组件
  • 中投公司投资的股票
  • 口腔发炎怎么办最快最有效的方法
  • php socket_create
  • read命令 linux
  • vue网上商城项目
  • 企业所得税应纳税额的计算公式
  • 为什么计入资本公积
  • 安装织梦数据库连接不上
  • mongodb 合并数据库
  • mysql的服务器
  • 劳务费应该怎么做会计分录
  • 扣税8%
  • 酒店客房收入如何分配
  • 企业购买的汽车可以抵税吗
  • 办公室租赁费摊销分录
  • 预提房租会计分录怎么填
  • 赠送商品需要开发票吗
  • 建账要求
  • 补充养老保险和年金
  • 合同取得成本如何收回
  • sql server 判断数据是否存在
  • sqlserver全文索引ndf文件丢失
  • Centos7 下Mysql5.7.19安装教程详解
  • win10注册表主键
  • win8不识别u盘
  • win7修改系统版本
  • 常用宏操作的参数设置方法
  • ubuntu f7
  • 苹果mac外接显示器合上盖子怎么在显示器上继续
  • 查看mac是否是新的
  • vim的配置文件名
  • centos7如何安装telnet
  • 电脑ahci模式什么意思
  • Linux 压缩某个文件夹的实现方法
  • adt Failed to create the Java Virtual Machine.
  • shell(bash)下“time” 命令的输出详解
  • Perl的Mail::POP3Client模块和Gmail通信实例
  • jquery源码下载
  • python中迭代器的作用
  • 基于专业性的家校双向互动,需要家长的学校教育参与
  • python的爬虫模块
  • jquery 异步提交表单
  • android知识点大全
  • json对象结构中,关键字key必须为什么类型
  • jquery文档处理有哪些
  • python3新增特性
  • 对供热企业相关规定
  • 新疆天山农商银行大额存单2024
  • ppr管材税收编码
  • 怎样查询自己企业的税管员
  • 通辽这个地方怎么样
  • 税法普法宣传
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设