位置: 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)(卢塞恩小镇瑞士)

  • 微信设置朋友圈权限后对方会知道吗(微信设置朋友圈签名)

    微信设置朋友圈权限后对方会知道吗(微信设置朋友圈签名)

  • shadowrocket显示超时

    shadowrocket显示超时

  • 全家福字怎么扫(全家福字怎么扫描)

    全家福字怎么扫(全家福字怎么扫描)

  • oppoace后盖是什么材质(oppoace后盖碎了自己能换吗)

    oppoace后盖是什么材质(oppoace后盖碎了自己能换吗)

  • 手机直播能用外置摄像头吗(手机直播用内置还是外置)

    手机直播能用外置摄像头吗(手机直播用内置还是外置)

  • 华为nova5i不能语音唤醒(华为nova5i语音控制里没有语音唤醒)

    华为nova5i不能语音唤醒(华为nova5i语音控制里没有语音唤醒)

  • 华为nova7相机怎么调(华为nova7相机怎么设置水印自定义)

    华为nova7相机怎么调(华为nova7相机怎么设置水印自定义)

  • 腾讯课堂中间卡出去会重新计时么(腾讯课堂卡吗)

    腾讯课堂中间卡出去会重新计时么(腾讯课堂卡吗)

  • 荣耀9x外放音质怎样(荣耀9x喇叭声音小怎么办)

    荣耀9x外放音质怎样(荣耀9x喇叭声音小怎么办)

  • coolpad手机为什么开不了机(coolpad手机为什么连不上wifi)

    coolpad手机为什么开不了机(coolpad手机为什么连不上wifi)

  • 电脑键盘打印快捷键是哪个(电脑键盘打印快捷键)

    电脑键盘打印快捷键是哪个(电脑键盘打印快捷键)

  • vivo手机照相显示日期(vivo手机照相显示摄像头被占用)

    vivo手机照相显示日期(vivo手机照相显示摄像头被占用)

  • 微信在哪里注册新账号(微信在哪里注册小号)

    微信在哪里注册新账号(微信在哪里注册小号)

  • 魅族16有双扬声器吗(魅族16plus双扬声器)

    魅族16有双扬声器吗(魅族16plus双扬声器)

  • pr为什么回车没法渲染(pr回车不能渲染)

    pr为什么回车没法渲染(pr回车不能渲染)

  • 苹果6s像素多少万(苹果13的像素是多少)

    苹果6s像素多少万(苹果13的像素是多少)

  • 拼多多销量排名怎么算(拼多多销量排名第一有用吗)

    拼多多销量排名怎么算(拼多多销量排名第一有用吗)

  • 抖音如何再开一个小号(抖音如何再开一个小号不用认证可以开直播吗)

    抖音如何再开一个小号(抖音如何再开一个小号不用认证可以开直播吗)

  • 苹果6怎么授权软件信任(苹果6怎么授权照片)

    苹果6怎么授权软件信任(苹果6怎么授权照片)

  • vivo手机测量尺在哪(苹果手机测量尺)

    vivo手机测量尺在哪(苹果手机测量尺)

  • 手机插上充电器一直跳(手机插上充电器后不停的充电和断电)

    手机插上充电器一直跳(手机插上充电器后不停的充电和断电)

  • 启用、关闭Safari6浏览器delete后退键的方法(苹果关闭safari)

    启用、关闭Safari6浏览器delete后退键的方法(苹果关闭safari)

  • 阿尔瓦拉辛,西班牙 (© Domingo Leiva/Getty Images)(阿尔瓦罗西萨)

    阿尔瓦拉辛,西班牙 (© Domingo Leiva/Getty Images)(阿尔瓦罗西萨)

  • loadkeys命令  改变linux键盘驱动程序(load命令怎么用)

    loadkeys命令 改变linux键盘驱动程序(load命令怎么用)

  • 房产税的计算方法举例说明
  • 查补以前年度税款
  • 生产成本年末转入什么科目
  • 利润表中的所得税
  • 药店的主营业务有哪些
  • 季度所得税可以零申报吗
  • 公司购买车辆抵扣税
  • 企业人员信息已存在无需新增
  • 增值税发票作废如何处理
  • 用货物抵债如何做分录
  • 收到销项负数发票
  • 返聘人员工伤可以申请工伤鉴定吗
  • 代扣代缴的增值税可以作为进项税抵扣吗
  • 清洁费免税吗
  • 小微企业企业所得税怎么征收2023
  • 火车票飞机票计入什么费用
  • 三代税款手续费是什么意思
  • 境外公司在境内取得的收入如何交税
  • 企业所得税汇算清缴网上申报流程
  • 花语大全各种花的花语花树
  • 取得专用发票是进项还是销项
  • 其他综合收益是什么意思
  • php实现微信发红包的方法
  • wamp设置
  • 商标个性设计
  • 增值税常见账务处理方法
  • 城市基础设施配套费计入什么科目
  • 无偿接收股权
  • 详解中国女足出线形势
  • php下载文件夹
  • 记录一次排查PHP脚本执行卡住的问题
  • opencv讲解
  • php解析xml文件
  • 大头小尾发票是什么意思
  • 产品检测费计入现金流量表什么项目
  • 新准则下担保企业有哪些
  • 企业利润分配的账务处理
  • 每季度报税什么意思
  • 增值税电子发票怎么下载
  • 个人所得税又是什么税种
  • 技术转让和技术开发区别
  • 个税出现负数是什么意思
  • 股东权益合计等于净资产吗
  • 记账金额怎么写
  • 工厂加工费如何计算
  • 2018年所得税率
  • 建筑行业的收入做什么科目
  • 待抵扣进项税额分录
  • 小规模纳税人所得税计算
  • 去年的费用怎么做分录
  • 劳保统筹费缴费比例
  • 销项税额减去进项税额就是该交的税吗
  • 开户一定要去银行吗
  • 个人账户发工资扣税吗
  • 月底现金余额
  • 哪些企业执行新的租赁政策
  • 新单位年终工作总结
  • SQL Server的FileStream和FileTable深入剖析
  • 分页存储过程的实现
  • mssql insert into 和insert into select性能比较
  • windows进程数
  • windowsxp锁屏密码怎么设置
  • 如何在苹果电脑上下载软件
  • win8.1输入法打不了中文
  • linux中wc命令的用法
  • 炉石传说用什么开发的
  • C#绘制准心脚本
  • unity错误cs1002
  • fullpage.js教程
  • 用jquery
  • jquery层次选择器主要包括哪几种分类
  • 利用js脚本模拟鼠标点击事件
  • &&在js中
  • javascript可以制作哪些游戏?
  • android应用程序
  • js中判断
  • openlayers3示例
  • 契税退税进度怎么查询
  • 关注龙江医保
  • 车船使用税电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设