Kub*_*zek 5 android image-processing
我正在为Android编写应用程序.我需要对从相机拍摄的照片进行一些图像处理.我使用Camera.PictureCallback来获取照片,然后我得到字节数组的图片.问题是我想对照片的每个像素(一些过滤和其他东西)进行操作,所以我想,在字节数组中有照片并不是一个坏主意.但我不知道如何解释这个字节数组中的信息...我知道进行处理的唯一方法是使用BitmapFactory.decodeByteArray()然后使用Bitmap对象.这是处理大量图像处理的好方法吗?现在我用的东西看起来像这样:
位图mPhotoPicture mPhotoPicture = BitmapFactory.decodeByteArray(imageData,0,imageData.length);
mPhotoPicture = mPhotoPicture.copy(Bitmap.Config.RGB_565,true);
我感谢任何帮助.
我不确定解码到字节数组是否是在Android上执行此操作的最佳方式,但我可以提供我对图像处理的一般知识.
如果你正在使用RGB_565,那意味着每个像素是16位,或者这些字节中的两个.前5位为红色,后6位为绿色,后5位为蓝色.处理这个问题在Java中是多毛的.我建议你使用更简单的格式ARGB_8888,这意味着你有32位,或每个像素四个字节,每个字节是它自己的值(alpha,red,green,blue).
要进行测试,请尝试将第4个字节一样[3],[7],[11]等,为0.这应该拿出所有的特定渠道,在这种情况下,所有的蓝色.
[2],[6],[10],等将是所有每个像素的绿色值.
(注意,这四个组件可能顺序相反,因为我不确定字节顺序!所以我可能刚刚告诉你如何取出alpha,而不是蓝色......)
| 归档时间: |
|
| 查看次数: |
16758 次 |
| 最近记录: |