public Bitmap renderCroppedGreyscaleBitmap() {int width = getWidth();int height = getHeight();int[] pixels = new int[width * height];byte[] yuv = yuvData;int inputOffset = top * dataWidth + left;for (int y = 0; y < height; y++) {int outputOffset = y * width;for (int x = 0; x < width; x++) {int grey = yuv[inputOffset + x] & 0xff;pixels[outputOffset + x] = 0xFF000000 | (grey * 0x00010101);}inputOffset += dataWidth;}Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);bitmap.setPixels(pixels, 0, width, 0, 0, width, height);return bitmap;}}
2 回答

jeck貓
TA貢獻(xiàn)1909條經(jīng)驗 獲得超7個贊
首先是提取原始圖像的像素值byte[] yuv
然后逐個像素值進(jìn)行灰度化int grey
最后二值化,將結(jié)果放在int[] pixels里邊
最后返回二值圖像return bitmap;

慕斯王
TA貢獻(xiàn)1864條經(jīng)驗 獲得超2個贊
個人認(rèn)為,這是一個 bitmap 圖像生成的函數(shù)
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 這個地方是 生成指定寬高和格式的bitmap
很多變量都是在類里定義的,還有自定義的類
添加回答
舉報
0/150
提交
取消