longsky 2022-06-30 11:13
浏览 6
已结题

zxing 中 renderCroppedGreyscaleBitmap()如何得到彩色图

 

 

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;
  }
}

以上得到的灰度图,现在要彩色图,该怎么做呢?

这一句 pixels[outputOffset + x] = 0xFF000000 | (grey * 0x00010101);  二值, 肯定是要去掉的。

最关键的就是 int grey = yuv[inputOffset + x] & 0xff;    没有查到相关资料,自己试了一下,0xff 改成 0xff0000ff 0xff00ff00  0xffff0000 能分别得到不同色彩的图 ,但如何能得到彩色的原图呢?

  • 写回答

0条回答 默认 最新

      报告相同问题?

      问题事件

      • 系统已结题 7月8日
      • 创建了问题 6月30日

      悬赏问题

      • ¥60 关于海信电视聚好看安装应用的问题
      • ¥15 vue引入sdk后的回调问题
      • ¥15 求一个智能家居控制的代码
      • ¥15 ad软件 pcb布线pcb规则约束编辑器where the object matpcb布线pcb规则约束编辑器where the object matchs怎么没有+15v只有no net
      • ¥15 虚拟机vmnet8 nat模式可以ping通主机,主机也能ping通虚拟机,但是vmnet8一直未识别怎么解决,其次诊断结果就是默认网关不可用
      • ¥20 求各位能用我能理解的话回答超级简单的一些问题
      • ¥15 yolov5双目识别输出坐标代码报错
      • ¥15 这个代码有什么语法错误
      • ¥15 给予STM32按键中断与串口通信
      • ¥15 使用QT实现can通信