关于android平台上图像处理成灰度图的问题
我还不懂怎么用NDK和安卓平台上的OpenCV(照着http://underthehood.blog.51cto.com/2531780/670169 上的安装教程装了,Cygwin可以用,$NDK/ndk-build指令也可以用,但是一运行程序就是打不开),如果有前辈懂得怎么去安装使用这两个的话请指导一下不胜感激。
因为不会用前面两个,然后我需要先把一张真彩图转换为灰度图(单通道)而不是伪灰度图(三通道),主要是为了继续转换为二值图进行后续处理。所以我现在选择这个方法将图片变为灰度图。
/**
* 图片去色,返回灰度图片
*
* @param bmpOriginal
* 传入的图片
* @return 去色后的图片
*/
public static Bitmap toGrayscale(Bitmap bmpOriginal) {
int width, height;
height = bmpOriginal.getHeight();
width = bmpOriginal.getWidth();
Bitmap bmpGrayscale = Bitmap.createBitmap(width, height,
Bitmap.Config.RGB_565);
Canvas c = new Canvas(bmpGrayscale);
Paint paint = new Paint();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);
ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);
paint.setColorFilter(f);
c.drawBitmap(bmpOriginal, 0, 0, paint);
// c.drawBitm
return bmpGrayscale;
}
[解决办法]
这个单通道图应该就是alpha-8格式的图片了吧,没人回答的话只能结贴了。