Android如何判定一张图片是不是灰度的
现在想判定一个jpg图片是不是灰度的,只看颜色通道是不行的
见代码,分析每个像素 rgb是否近似相等
/*** 判断一个点是否为灰色,* @param R* @param G* @param B* @param H* @param S* @param V* @return 是否为灰色*/private static boolean isGrey_1(int R, int G, int B, int H, int S, int V){// C4C9C8//F7EEEA//225 6 97//if (((H >= 0 && H < 180) && (S >= 0 && S < 43) && (V >= 46 && V <= 255))//白色int x = (R+G+B)/3;int TotalGrey = Math.abs(R-x)+Math.abs(G-x)+Math.abs(B-x);if (((H >= 0 && H <= 255) && (S >= 0 && S < 43) && (V >= 46 && V <= 255))//白色|| ((H >= 0 && H <= 226) && (S >= 0 && S < 43) && (V >= 46 && V < 220))//灰色|| ((H >= 0 && H < 180) && (S >= 0 && S < 60) && (V >= 46 && V < 230))//灰色){return true;}//不能全黑if(TotalGrey<30&&x>5){return true;}return false;}private static double isDocument( Bitmap src,int level ) {//用于检测灰色比例显示double MyRedColorProportionWithWhiteColor=0;int w=src.getWidth();int h=src.getHeight();//红头文件必须上半部有红字int[]pixels=new int[w*h];src.getPixels(pixels,0,w,0,0,w,h);int H = 0, S = 0, V =0;int R =0, G = 0, B = 0;double goodRedPoints = 0;double goodWhitePoints = 1;for (int i = 0; i < h; i++){for (int j = 0; j < w; j++){int mColor=pixels[i*w+j];float[] hsv = new float[3];//定义一个长度为3的数组Color.colorToHSV(mColor, hsv);//转化hsvR=(mColor>>16)&0xff;G=(mColor>>8)&0xff;B=(mColor)&0xff;H=(int)hsv[0];S=(int)(hsv[1]*100);V=(int)(hsv[2]*100);if (isGrey_1(R, G, B, H, S, V)==true)//灰色{goodWhitePoints++;}}}double whiteRate= (double)((double)(goodWhitePoints)/(w*h));return whiteRate;}
如果rgb 与平均值 偏移较大则认为是彩色的了。
Android如何判定一张图片是不是灰度的相关推荐
- android 查看多个图片,android提取视频多张图片和视频信息
android提取视频多张图片和视频信息 话说2016年的直播比较火,2017年短视频又火了.但对于开发者来说隐藏在这背后的技术才是我们所关心的,毕竟我们是靠技术吃饭的. 现在在安卓中多媒体服务比较强 ...
- Android设备上一张图片的显示过程
转自:http://blog.csdn.net/jxt1234and2010/article/details/50524213 Android设备上一张图片的显示过程 应用示例 假如我们现在有一张这样 ...
- Android图形显示系统——一张图片的显示流程
Android设备上一张图片的显示过程 应用示例 假如我们现在有一张这样的风景照 想在Android设备(比如一个小米pad)上显示出来.首先想到的是写一个应用,用一个ImageView,把这张照片附 ...
- Android之给图片去色,返回灰度图片以及ColorMatrix中setSaturation方法的用法
原图: 效果图: 实现以上效果其实很简单,直接上代码: public class MainActivity extends Activity {private Button btn_start;pri ...
- Android 仿朋友圈单张图片限定宽高超出时按比例缩放效果实现
分析 因项目需求需要实现仿微信朋友圈单张图片展示效果,经分析微信单张图片的显示效果分两种情况: 1.当需要展示的图片实际宽度占满全屏时,发现高度大于指定高度,此时固定ImageView控件高度为最大高 ...
- android七牛多张图片上传
将多张图片上传到七牛,需要一张张上传 七牛android SDK使用指南http://developer.qiniu.com/code/v7/sdk/android.html 将图片上传到七牛服务器的 ...
- android 中关于两张图片叠加方法(记录)
最近在做一个小的Android项目中遇到一个问题,就是不知道为什么机器输出的分辨率不稳定,总是有几十个像素的误差.导致屏幕适配出现了问题.这次主要记录一下解决思路. 问题就如图 主要是一张背景图 ,在 ...
- Android之实现多张图片点击预览(支持放缩)和滑动
1 需求 多张图片通过recycleView展示,然后点击具体一张图片支持预览(支持放缩)和滑动 2 解决办法 BaseRecyclerViewAdapterHelper + com.githu ...
- Android 仿微信多张图片选择器,适配android10系统,open failed: EACCES (Permission denied)
实现效果 只需引入模块,比起依赖,更方便自定义 implementation project(':imagepicker') //图片加载 implementation 'com.github.bum ...
最新文章
- vnc oracle solaris,在Solaris下安装VNC 远程安装Oracle
- shell脚本 -d 是目录文件,那么-e,-f分别是什么?还有! -e这又是什么意思呢?
- 如果正确看待区块链这一新型技术的未来发展?...
- 关于多个router-view视图组件,渲染同一页面
- tf.nn.conv2d理解(带通道的卷积图片输出案例)
- W3C 宣布:WebAuthn 成为正式 Web 标准
- Problem C: 默认参数:求圆面积
- ESA和NetWeaver
- golang的定时任务
- hive应用实例 将查询结果写入原表中
- 通过kmeans分析出租车数据并调用百度API进行可视化!
- 为什么图片保存类型360 se html document,360安全浏览器为什么图片不显示保存
- 使用原始武器的现代战争
- 噬菌体疗法减缓细菌耐药性进化
- Mac清空的废纸篓文件怎么恢复
- PS中的颜色模式,8位、16位、32位区别、以及背景内容的区别
- 机器学习在脊柱的应用现状:从临床的观点
- 羊le个羊 小游戏 简单源码开源 思路分析
- 【Jmeter常用断言组件】
- campaign 缩写_Campaign Monitor的画布:简化电子邮件设计
热门文章
- UML-九种基本图形
- 漫谈Web Feed、RSS、原文链接和转贴
- OCR图文识别软件是怎么保存页面图像的
- Linux 参数之 max_map_count
- excel与access结合运用_access和excel结合应用
- cmd循环调用native2ascii.exe
- 固态硬盘raw格式数据能恢复吗(图文)
- ETFE膜和PTFE膜不同之处以及特点-世来福
- fast RCN论文笔记
- 2018:MIXED PRECISION TRAINING OF CONVOLUTIONAL NEURAL NETWORKS USING INTEGER OPERATIONS利用整数运算对卷积神经网络