android 灰度图像,android图像处理之灰度化

这篇博客介绍了一种在Android中将图像转换为灰度图像的方法。通过读取图片,使用ColorMatrix设置饱和度为0实现灰度化,然后在ImageView上展示处理后的图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.scy.grayvalue2;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import android.os.Bundle;

import android.os.Environment;

import android.app.Activity;

import android.graphics.Bitmap;

import android.graphics.Bitmap.Config;

import android.graphics.BitmapFactory;

import android.util.Log;

import android.view.Menu;

import android.widget.ImageView;

/**

* 思路如下:

1.读取or照相,得到一张ARGB图片。

2.转化为bitmap类,并对其数据做如下操作:

A通道保持不变,然后逐像素计算:X = 0.3×R+0.59×G+0.11×B,并使这个像素的值新R,G,B值为X,即:

new_R = X, new_G = X, new_B = X

例如:原来一个像素是4个byte,分别为ARGB,现在这个像素应该为AXXX。

3.将上一步骤得到的bitmap图像写到输出流里面,并保存为图片。或者直接显示在ImageView上。

* @author scy

*

*/

public class MainActivity extends Activity

{

private byte[] rawData;

private ImageView imageView;

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

imageView = (ImageView)findViewById(R.id.image);

//将bitmap转换成一个伪灰度图,再转化成一个byte[]

//将byte[]转换为bitmap

//Bitmap bitmapOrg = BitmapFactory.decodeByteArray(rawData, 0, rawData.length);

Bitmap bitmapOrg =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值