场景

在开发中我们经常需要对图片以人脸为中心进行剪切并显示,这时就需要下面这个工具了。

实现效果

Demo及工程地址:https://github.com/CNCFOX/ImageViewClip

项目参考及引用

使用库: http://code.taobao.org/p/tclip/
参考项目:https://github.com/beartung/tclip-android
本项目参考以上上面及识别库进行修改封装打包,意在更方便灵活使用。

项目使用

下载工具 jar(IVClip_V1.0.jar) : https://github.com/CNCFOX/ImageViewClip/raw/master/Libs/IVClip_V1.0.jar

下载so文件:https://github.com/CNCFOX/ImageViewClip/raw/master/Libs/so_File.zip

将下载的jar.so 文件加入到项目中。

API 说明

在项目中使用如下API即可:

CImageView

这是一个继承ImageView的图片控件,可以直接在xml 中进行使用:

<com.cfox.ivcliplib.CImageViewandroid:src="@mipmap/img"android:layout_width="80dp"android:layout_height="80dp" />

CImageUtils

说明:这里的宽和高不是显示的宽和高,指的是剪切时的宽和高。实际显示宽和高由自己设定,如果将ImageView 控件的宽和高设置为wrap_content此时的宽和高即为剪切的宽和高。

  • crop(ImageView imageView , int width, int height)
    将指定的ImageView 中的图片剪切指定大小

    imageView : 被处理的ImageView 控件
    width : 宽
    height : 高
    无返回值

    使用示例:

    ImageView mImg = (ImageView) findViewById(R.id.img);
    CImageUtils.instance(this).crop(mImg,400,400);  
  • cropToBitmap(ImageView imageView, int width, int height)
    将指定的ImageView 中的图片剪切指定大小,返回剪切后图片以Bitmap类型。

    imageView : 被处理的ImageView 控件
    width : 宽
    height : 高
    返回值 : Bitmap

    使用示例:

    ImageView mImgA_A = (ImageView) findViewById(R.id.img_a_a);
    ImageView mBaseView = (ImageView) findViewById(R.id.img_base1);Bitmap clipBitmap = CImageUtils.instance(this).cropToBitmap(mBaseView,400,400);
    mImgA_A.setImageBitmap(clipBitmap);
  • cropToBitmap(Bitmap imageBitmap, int width, int height)
    将指定的Bitmap图片,剪切指定大小,返回剪切后图片以Bitmap类型。

    imageBitmap : Bitmap图片
    width : 宽
    height : 高
    返回值 : Bitmap

    使用示例:

    
    ImageView mImgA_A = (ImageView) findViewById(R.id.img_a_a);
    ImageView mBaseView = (ImageView) findViewById(R.id.img_base1);Bitmap baseBitmap = ((BitmapDrawable)mBaseView.getDrawable()).getBitmap();
    Bitmap clipBitmap = CImageUtils.instance(this).cropToBitmap(baseBitmap,320,320);
    

Demo 工程编译运行

  • 在git中执行下面命令clone工程到本地:
    git clone git@github.com:CNCFOX/ImageViewClip.git

  • 用Android studio 打开工程

  • 打开 Gradle 找到 :ivcliplib ,展开other文件夹,找到ndkCleanndkBuild分别执行,然后运行项目。
    如下图:

Android 图片人脸识别剪切相关推荐

  1. android人脸识别的背景图_Android 图片人脸识别剪切

    场景 在开发中我们经常需要对图片以人脸为中心进行剪切并显示,这时就需要下面这个工具了. 实现效果 实现效果 项目参考及引用 项目使用 将下载的jar 和 .so 文件加入到项目中. API 说明 在项 ...

  2. android 静态图片自动切换,Android静态图片人脸识别的完整demo(附完整源码)

    Android静态图片人脸识别的完整demo(附完整源码) 来源:互联网 作者:佚名 时间:2015-03-24 20:07 本文介绍了android静态识别人脸并进行标记人眼位置及人脸框的完整dem ...

  3. Android之人脸识别

    前言 人工智能时代快速来临,其中人脸识别是当前比较热门的技术,在国内也越来越多的运用,例如刷脸打卡.刷脸App,身份识别,人脸门禁等等.当前的人脸识别技术分为WEBAPI和SDK调用两种法方式,WEB ...

  4. Android在线人脸识别登录系统

    Android在线人脸识别登录系统 前言 最近需要做一个Android的在线人脸识别项目,需求是能够在线人脸识别登录,找了很多资料都是价格很高或者是离线保存样本的,最后选择免费的虹软人脸识别,经过查询 ...

  5. Android 百度人脸识别、人脸采集、文字识别(身份证),人证对比

    Android 百度人脸识别.人脸采集.文字识别(身份证),人证对比 Android 拍照.图片压缩(兼容7.0) 由于公司的项目赶在 "某某打车" 事件期间,所以你懂得.老板说要 ...

  6. Android离线人脸识别方案对比

    Android 离线人脸识别方案对比总结 文章目录 Android 离线人脸识别方案对比总结 百度.腾讯.阿里.Face++.商汤等人脸识别 虹软人脸识别 OpenCV 人脸识别 中科视拓(Seeta ...

  7. 视频转图片-人脸识别-合成视频

    视频转图片-人脸识别-合成视频 代码: import cv2 import os,sys import numpy as npface_xml = cv2.CascadeClassifier(r&qu ...

  8. Java + opencv 实现人脸识别,图片人脸识别、视频人脸识别、摄像头实时人脸识别

    搭建环境 opencv官网下载windows安装包 https://opencv.org/releases/ 选择最新版4.1.1 下载完成后是一个opencv-4.1.1-vc14_vc15.exe ...

  9. Android实现人脸识别(人脸检测)初识

    title: Android实现人脸识别(人脸检测)初识 categories: Android tags: 人脸识别 人脸检测 相机处理 date: 2020-05-21 11:35:51 介绍 本 ...

  10. 视频人脸识别和图片人脸识别的关系

    首先解释下视频人脸识别和图片人脸识别的区别,视频人脸识别是基于视频流进行人脸识别,用户的感觉就是直接在视频中就可以识别出人脸,而图片人脸识别,是用户直接上传图片,输出识别结果. 图片人脸识别可以描述为 ...

最新文章

  1. java注解方式实体类_如何用注解的方式在实体类中实现一对一,和一对多多对多...
  2. 新网站优化基本流程不可忽视!
  3. 中文通用百科知识图谱(CN-DBpedia)
  4. DataURL:概述
  5. .NET Core 3.0-preview3 发布
  6. Link Cut Tree 学习笔记
  7. 红黑树为什么可以确保没有一条路径会比其他路径长出两倍
  8. (pytorch-深度学习系列)使用重复元素的网络(VGG)
  9. Java-程序的入口
  10. python-组合数据类型
  11. android开发学习笔记系列(1)-android起航
  12. Hadoop大数据技术原理与应用-第一章初识Hadoop
  13. IMX6之SPI接口驱动测试
  14. 如何使用lambda实现集合排序
  15. ctf逆向解题——re1
  16. python电影数据分析报告_电影数据可视化项目分析报告
  17. Playframework介绍
  18. 2020年项目经验分享:20厘米厚的无人机激光雷达点云,能否做大比例尺的河道数字高程模型?
  19. Android中铃声的使用
  20. 不同的国家/地区与语言缩写代码

热门文章

  1. ROBOGUIDE软件:FANUC机器人弧焊焊接起始点接触寻位虚拟仿真
  2. 三星samsung 3G手机s7220 小技巧
  3. Visio应用视频教程(下)-游峰-专题视频课程
  4. oracle中对表进行分组,Oracle第五章多表链接、第六章分组函数习题整理
  5. 软件工程——软件计划
  6. 用户生命周期,从运营到数据的最全攻略在这里
  7. centos7 单机安装 greenplum6
  8. 普通计算机用的是什么屏幕,笔记本屏幕的色域 72%NTSC和100%sRGB有什么区别
  9. Ani网页木马生成器
  10. Java算法与数据结构、设计模式、高并发视频教程免费下载