分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

转自:http://blog.csdn.net/sxwyf248/article/details/7019731

运行结果:

使用到了ColorMatrix。

Java代码:

[java] view plaincopy
  1. package com.figo.imgedit;
  2. import java.io.FileNotFoundException;
  3. import android.app.Activity;
  4. import android.graphics.Bitmap;
  5. import android.graphics.Bitmap.Config;
  6. import android.graphics.BitmapFactory;
  7. import android.graphics.Canvas;
  8. import android.graphics.ColorMatrix;
  9. import android.graphics.ColorMatrixColorFilter;
  10. import android.graphics.Paint;
  11. import android.net.Uri;
  12. import android.os.Bundle;
  13. import android.util.Log;
  14. import android.widget.ImageView;
  15. import android.widget.SeekBar;
  16. import android.widget.SeekBar.OnSeekBarChangeListener;
  17. public class ImgeditActivity extends Activity {
  18. /** Called when the activity is first created. */
  19. private Bitmap srcBitmap, dstBitmap;
  20. private String pathName = "/sdcard/testimg.jpg";
  21. private ImageView dstimage = null;
  22. private SeekBar SaturationseekBar = null;
  23. private SeekBar BrightnessseekBar = null;
  24. private SeekBar ContrastseekBar = null;
  25. private int imgHeight, imgWidth;
  26. public static final int PICTURE = 0;
  27. public static final int MAX_WIDTH = 240;
  28. public static final int MAX_HEIGHT = 240;
  29. private Uri imageUri;
  30. @Override
  31. public void onCreate(Bundle savedInstanceState) {
  32. super.onCreate(savedInstanceState);
  33. setContentView(R.layout.main);
  34. dstimage = (ImageView) findViewById(R.id.dstImageView);
  35. SaturationseekBar = (SeekBar) findViewById(R.id.Saturationseekbar);
  36. BrightnessseekBar = (SeekBar) findViewById(R.id.Brightnessseekbar);
  37. ContrastseekBar = (SeekBar) findViewById(R.id.Contrastseekbar);
  38. srcBitmap = BitmapFactory.decodeFile(pathName);
  39. dstimage.setImageBitmap(srcBitmap);
  40. imgHeight = srcBitmap.getHeight();
  41. imgWidth = srcBitmap.getWidth();
  42. dstBitmap = Bitmap.createBitmap(imgWidth, imgHeight, Config.ARGB_8888);
  43. SaturationseekBar
  44. .setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
  45. // 当拖动条的滑块位置发生改变时触发该方法
  46. public void onProgressChanged(SeekBar arg0, int progress,
  47. boolean fromUser) {
  48. // 创建一个相同尺寸的可变的位图区,用于绘制调色后的图片
  49. Bitmap bmp = Bitmap.createBitmap(imgWidth, imgHeight,
  50. Config.ARGB_8888);
  51. ColorMatrix cMatrix = new ColorMatrix();
  52. // 设置饱和度
  53. cMatrix.setSaturation((float) (progress / 100.0));
  54. Paint paint = new Paint();
  55. paint.setColorFilter(new ColorMatrixColorFilter(cMatrix));
  56. Canvas canvas = new Canvas(bmp);
  57. // 在Canvas上绘制一个已经存在的Bitmap。这样,dstBitmap就和srcBitmap一摸一样了
  58. canvas.drawBitmap(srcBitmap, 0, 0, paint);
  59. dstimage.setImageBitmap(bmp);
  60. }
  61. public void onStartTrackingTouch(SeekBar bar) {
  62. }
  63. public void onStopTrackingTouch(SeekBar bar) {
  64. }
  65. });
  66. BrightnessseekBar
  67. .setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
  68. // 当拖动条的滑块位置发生改变时触发该方法
  69. public void onProgressChanged(SeekBar arg0, int progress,
  70. boolean fromUser) {
  71. Bitmap bmp = Bitmap.createBitmap(imgWidth, imgHeight,
  72. Config.ARGB_8888);
  73. int brightness = progress - 127;
  74. ColorMatrix cMatrix = new ColorMatrix();
  75. cMatrix.set(new float[] { 1, 0, 0, 0, brightness, 0, 1,
  76. 0, 0, brightness,// 改变亮度
  77. 0, 0, 1, 0, brightness, 0, 0, 0, 1, 0 });
  78. Paint paint = new Paint();
  79. paint.setColorFilter(new ColorMatrixColorFilter(cMatrix));
  80. Canvas canvas = new Canvas(bmp);
  81. // 在Canvas上绘制一个已经存在的Bitmap。这样,dstBitmap就和srcBitmap一摸一样了
  82. canvas.drawBitmap(srcBitmap, 0, 0, paint);
  83. dstimage.setImageBitmap(bmp);
  84. }
  85. public void onStartTrackingTouch(SeekBar bar) {
  86. }
  87. public void onStopTrackingTouch(SeekBar bar) {
  88. }
  89. });
  90. ContrastseekBar
  91. .setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
  92. // 当拖动条的滑块位置发生改变时触发该方法
  93. public void onProgressChanged(SeekBar arg0, int progress,
  94. boolean fromUser) {
  95. Bitmap bmp = Bitmap.createBitmap(imgWidth, imgHeight,
  96. Config.ARGB_8888);
  97. // int brightness = progress - 127;
  98. float contrast = (float) ((progress +

Android改变图像的饱和度 亮度和对比度相关推荐

  1. Android学习笔记之-:对Android图像色调饱和度亮度处理

    首先也简单介绍下图像的RGBA模型,R指红色(Red),G指绿色(Green),B指蓝色(Blue)及A指透明度(Alpha),由这四种元素搭配组合成了各种各样的颜色. 处理工具类及方法: publi ...

  2. 通过RGB或YUV改变图像的色度和饱和度

    通过RGB或YUV改变图像的色度和饱和度 自己曾经尝试过BGR先转成HSV,再改变S分量,但是效果非常差,这里是我是在别人论文上查到的,给大家参考一下 1. 通过YUV改变图像的饱和度,这里的r的范围 ...

  3. Android 字体 hsv 对比度,Android图像锐化,饱和度,色调,亮度和对比度

    是的,android有一些操作颜色的工具,有些比其他更容易.做你特别要求所有图像的一般空间的唯一方法是修改单个像素.还有其他快速而肮脏的技巧要快得多,但精度要低得多(ColorFilter). 色相变 ...

  4. android 亮度 对比度,Android图像锐化,饱和度,色调,亮度和对比度

    是的,android有一些操作颜色的工具,比别人更容易.做特别要求所有图像的一般空间的唯一方法是修改单个像素.还有其他快速和肮脏的技巧,速度要快得多,但不够精确(ColorFilter). 色相换: ...

  5. 计算机视觉之图像增广(翻转、随机裁剪、颜色变化[亮度、对比度、饱和度、色调])

    随着深度学习的进步和硬件的更新迭代,计算机视觉技术也得到了更大的提升,在计算机视觉领域,经常要训练深度学习的模型,而训练模型的最终目的是为了更好的应用到实际当中去,那就要解决一个精度问题和泛化能力,对 ...

  6. Android OpenCV之算数操作与调整图像的亮度和对比度

    Android OpenCV之算数操作与调整图像的亮度和对比度 OpenCV算数API介绍 Mat 对象之间的加.减.乘.除最常用的方法如下: add(Mat src1, Mat src2, Mat ...

  7. 独家|OpenCV 1.6 改变图像的对比度和亮度!

    翻译:陈之炎 校对:吴金迪本文约2500字,建议阅读5分钟本文为大家介绍了OpenCV改变图像的对比度和亮度. 目标 在本教程中, 你将学习到以下内容: 访问像素值; 用零初始化矩阵; 学习CV :: ...

  8. OpenCV学习:改变图像的对比度和亮度

    本实例演示简单地改变图像的对比度和亮度,使用了如下线性变换来实现像素值的遍历操作: The parameters α > 0 and β often called the gain and bi ...

  9. OpenCV改变图像的对比度和亮度

    OpenCV改变图像的对比度和亮度 改变图像的对比度和亮度 目标 理论 图像处理 像素变换 亮度和对比度调整 代码 解释 结果 改变图像的对比度和亮度 目标 在本教程中,您将学习如何: 访问像素值 用 ...

最新文章

  1. python 类的魔术方法_python中类的魔术方法
  2. [书目]软件制胜之道:执行的策略
  3. Android EditText属性用法
  4. Golang——多种运算符及优先级
  5. 博弈论(一):Nim游戏
  6. 印刷(烫金)缺陷在线检测系统
  7. 组态王怎么做进度条_3分钟学会超实用||进度条amp;游戏血条的制作方法!
  8. tcp压测工具_使用BeetleX的TcpBenchmark工具进行百万设备模拟测试
  9. 数据可视化专属配色方案
  10. android tv webview,Android TV中WebView的按键响应问题
  11. 虫虫asp建站源码_新云CMS仿完美下载站整站源码
  12. 我说MySQL联合索引遵循最左前缀匹配原则,面试官让我回去等通知
  13. 位运算符(,|,~,^,同或,>>,<<)
  14. 基于Eclipse+Java+Swing+Mysql图书信息管理系统
  15. bpmn-js汉化(将元素提示语进行汉化)
  16. 15幅非常有创意的影子摄影作品欣赏
  17. 游戏技巧-《文明6》的C盘爆满问题
  18. 【小程序云开发】本地调试和云端测试的结果不一致,返回值result为null
  19. HTML怎么跟随页面缩放,如何让网页跟着 浏览器全比例缩小(示例代码)
  20. Packettracer--计算机网络实验

热门文章

  1. ChatGPT初学者写作教程
  2. iOS 中集合如何弱引用对象
  3. 找不到中文语音预训练模型?中文版Wav2vec 2.0和HuBERT来了
  4. fre740变频器参数_三菱FR-E740变频器简介.doc
  5. java继承输出先后顺序_java继承时候类的运行顺序问题
  6. OpenGL解析法绘制旋转曲面--青花瓷
  7. python数据分析之云雨图(箱型图+分布图+散点图)
  8. React Native调用Android原生代码实现车牌识别功能【附效果图附源码】
  9. Google Android Sensor -- 004 -- 耗电量
  10. 装载问题 (回溯法)