java 人物头像识别

一、功能描述:
人物头像识别,识别图片中的是否含有人物头像。

二、准备工作:

  1. 创建需要识别的图片目录 ,如F:/img,链接中files\img中为示例图片。
  2. 导入所需jar包,见files\jar。
  3. 新建依赖文件haarcascade_frontalface_default.xml,见files\haarcascade_frontalface_default.xml
  4. 链接:https://pan.baidu.com/s/1ql363GCpwtIx6N1BPetrzQ     提取码:fhew
    在这里插入图片描述

三、代码:

package com.test.face;import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;import javax.imageio.ImageIO;import detection.Detector;/** * 功能: 人物头像识别* */
public class FaceRecognition {public static void main(String[] args) {try {findFaces();} catch (Exception e) {e.printStackTrace();}
}public static void findFaces() throws Exception {  String fileName1="F:/img/1.jpg";    String fileName2="F:/img/2.jpg";    String fileName3="F:/img/3.jpg";   String fileName4="F:/img/4.jpg";   Detector detector= Detector.create("src/haarcascade_frontalface_default.xml");  BufferedImage bi1=ImageIO.read(new File(fileName1));  BufferedImage bi2=ImageIO.read(new File(fileName2));  BufferedImage bi3=ImageIO.read(new File(fileName3)); BufferedImage bi4=ImageIO.read(new File(fileName4));List<Rectangle> res1=detector.getFaces(bi1, 2, 1.25f, 0.1f,3,true); System.out.println(res1);  List<Rectangle> res2=detector.getFaces(bi2, 2, 1.25f, 0.1f,3,true);    System.out.println(res2);  List<Rectangle> res3=detector.getFaces(bi3, 2, 1.25f, 0.1f,3,true);    System.out.println(res3); List<Rectangle> res4=detector.getFaces(bi4, 2, 1.25f, 0.1f,3,true);    System.out.println(res4);  }  
}

返回结果说明:
在这里插入图片描述
List:为图片中头像出现的区域,包括起始坐标(x,y)以及对应的宽和高。可见console中第1、3张图片包含人物头像。


如果想要标记所识别的区域,代码如下:

 /** * 这里是遍历图片的像素,因为要处理图片的背色,所以要把指定像素上的颜色换成目标颜色 * 这里 是一个二层循环,遍历长和宽上的每个像素 */for (int i = res1.get(0).x; i < res1.get(0).width; i++){for (int j = res1.get(0).y; j < res1.get(0).height; j++){bi1.setRGB(i, j, 0xffffff);}}FileOutputStream ops = new FileOutputStream(new File("F:/img/new_1.jpg"));ImageIO.write(bi1, "jpg", ops);ops.flush();ops.close();

四、测试:
执行main方法,结果见console。
如果加入标记所识别的区域的代码,F:/img下会生成新的以new_开头的标记后的图片。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1381322.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

日常问题——使用Java转将long类型为date类型,日期是1970年

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;日常BUG、BUG、问题分析☀️每日 一言 &#xff1a;存在错误说明你在进步&#xff01; 一、问题描述 long类型的日期为&#xff1a;1646718195 装换为date类型&#xff1a; Date date new Dat…

google浏览器截取长图

方法一&#xff1a; 首先F12选中手机模式 然后点击右上角 选择capture full size screenshot 或者ctrl shift p 方法二&#xff1a; 按F12打开调试页面&#xff0c;然后按下ctrlshiftp&#xff0c;输入命令Capture full size screenshot&#xff0c;敲回车&#xff0c;浏览…

edge便捷截取长图

edge便捷截取长图 右上角 三点 ——》网页捕获 ——》捕获整页 简简单单 方便食用~

Mac上使用Chrome浏览器截取长图

首先按下 ⌘Command ⌥Option I 快捷键&#xff0c;召唤出调试界面。 按下 ⌘Command ⇧Shift P 输入 Capture full size screenshot 敲下回车&#xff0c;Chrome 就会自动截取整个网页内容并保存至本地。

Linux上安装温度监控软件

文章目录 Linux上安装温度监控软件IDRAC设置 Linux上安装温度监控软件 服务器的温度是影响服务器性能重要条件&#xff0c;怎么监控机器的温度呢&#xff0c;这里知道的有两种方式 通过管理界面&#xff0c;查看机器的温度通过机器上安装监监控软件来监控温度 在物理机上怎么…

杂项 Chrome浏览器截取长图

WechatIMG18.jpeg 截取网页长图 image.png ⌘Command⌥OptionI快捷键&#xff0c;召唤出调试界面&#xff1b; 再按下⌘Command⇧ShiftP&#xff1b; 输入命令Capture full size screenshot&#xff0c;敲下回车&#xff1b; Chrome 就会自动截取整个网页内容并保存至本地。 自…

html怎么截取部分图片,【原创】详解css用坐标来截取部分图片

标题好像没有表述的十分清楚,直白的说就是在很大的图片上只截取我们需要的位置上的需要大小的图片。现在大家都知道网站技术发展的很快,很多技术较大的网站已经率先的使用了。大家可以看看腾讯会员的网页http://vip.qq.com/,当你想保存其中的一个栏目图片的时候你会发现点击…

Microsoft Edge 浏览器截取网页长图的方法

打开Edge 浏览器 在需要截长图的页面 点击右上角 如图下所示位置 出现 如下 弹窗 选择网页捕获 出现 捕获区域 、捕获整页 根据需求 就行选择 即可 &#xff0c;如选择部分截图 选择捕获区域进行框选即可&#xff0c;如要截取整个网页的长截图 选择 捕获整页即可 捕获区域 …

谷歌浏览器利用开发者工具截取长图

在浏览器的右上角处找到三个竖着的小黑点按钮&#xff0c;点击选择该按钮。 在弹出来的下拉菜单中选择“更多工具”功能按钮&#xff0c;将鼠标放置于该按钮处会弹出一个二级菜单。 在二级菜单中找到“开发者工具”&#xff0c;鼠标左键单击选择该功能按钮&#xff0c;进入开…

友盟分享长图片,如何截取长图片去分享

实际开发中有没有发现有很多应用都是分享长图片呢&#xff1f;咋一看分享图片这是怎么做的呢&#xff0c;是不是后台返回链接图片做的呢&#xff0c;再一看不像哎&#xff0c;那怎么解决呢&#xff1f; 其实很简单啦 // 长图 类型可以是 tableView或者scrollView 等可以滚动的…

Chrome 截取长图

首先打开一个你想要截图的页面然后按下F12按CtrlShiftP打开console菜单在有个红对勾的位置输入 Capture full size screenshot &#xff0c;找到Capture full size screenshot按下回车长页面截图自动生成并保存了

谷歌浏览器截取长图

1、单击左上角应用 2、单击chrome网上应用商店 3、输入full screen 搜索&#xff0c;点击Full Page Screen Capture 5、安装即可

selenium自动化学习--截取长图的方法

用gm实现基于node.js的selenium自动化截取长图的问题 解决思路具体代码效果总结 解决思路 主要运用gm方法对截图的拼接&#xff1a; 先运动webdriver.takeScreenshot()和scroll的操作分别截取出我们需要的截图。 gm().把所有的截图拼接在一起&#xff08;需要安装gm&#xff…

西安城市标识牌的缺陷

西安这座古城&#xff0c;是西北地区政治经济文化中心&#xff0c;西北各个行业的龙头企业也多立足于西安。就标识牌制作来说&#xff0c;西安的标识牌行业在西北地区也首屈一指。不过从专业的眼光观察西安城市标识牌的实际状况&#xff0c;还是有诸多缺陷&#xff0c;其中以下…

标签打印软件如何制作三角形合格证

产品合格证标签是产品生产出售过程中的一个重要的标牌&#xff0c;产品合格证的外观有很多种&#xff0c;方形合格证&#xff0c;圆形合格证&#xff0c;三角形合格证&#xff0c;那么这些各种各样的合格证标签是怎么制作出来的呢&#xff1f;下面以三角形合格证为例教大家如何…

校园一键报警柱的作用

校园一键报警柱是一种用于校园安全的紧急报警系统&#xff0c;可以随时随地向校园安全管理部门发送紧急警报。这种系统通常采用带有紧急按钮的电缆或无线警报装置&#xff0c;使学生、教师和工作人员可以在出现紧急情况时轻松报告安全问题&#xff0c;迅速地通知校园安全人员&a…

基于51单片机的太阳能交通警示牌

设计简介&#xff1a; 本设计是基于单片机的太阳能交通警示牌&#xff0c;主要实现以下功能&#xff1a; LCD1602显示光照度以及锂电池电压值实时检测环境光照度亮度小于一定值点阵显示“出入平安”锂电池可通过太阳能进行充电 标签&#xff1a;51单片机、LCD1602、充电模块…

怎样用条码软件制作各种各样的警示标牌

自从人类进入有电的生活以来&#xff0c;给我们的生活带来了巨大的帮助&#xff0c;但是电是一把双刃剑&#xff0c;它也是很危险的&#xff0c;好多电设备的上面都会有警示标牌&#xff0c;提醒人们要小心。这些标签上的数据有些是固定的有些是变量的&#xff0c;这就要用到条…

基于STM32智能三角警示牌设计

一、任务简述 本次研究采用这种设计的研究用途是为了减少交通事故发生的可能性&#xff0c;确保人员安全&#xff0c;节省人为防置的时间。该智能三角警示牌稳定性很高&#xff0c;通过遥控到达指定位置后可以远程遥控展开和收回&#xff0c;人员无需离车辆即可远程控制智能三…