检测android中图像的所有颜色

时间:2018-12-19 05:17:49

标签: android image image-processing

我必须在不使用ML(Google视觉,IBM视觉识别)的情况下在Android中提取图像的所有颜色。

我检查了以下选项。

1。Palette 调色板库尝试提取以下六个颜色配置文件。

2。获取特定像素的颜色

public static int getDominantColor(Bitmap bitmap) {
Bitmap newBitmap = Bitmap.createScaledBitmap(bitmap, 1, 1, true);
final int color = newBitmap.getPixel(0, 0);
newBitmap.recycle();
return color;
}

如果我将位图尺寸缩小,然后找出颜色并保存在列表中。 然后有一些时间和OutOfMemoryError。

请建议使用任何一个图书馆查找图像的颜色。

修改

从画廊挑选

 InputStream stream = getContentResolver().openInputStream(
                        data.getData());
                bitmap = BitmapFactory.decodeStream(stream);
                stream.close()

从像素获取颜色代码

HashMap<Integer,Integer> colorList=new HashMap<>();
private void  getAllColorInImages(Bitmap bitmap)
{
    colorList.clear();
    if(bitmap==null)
        return;
    int width=bitmap.getWidth();
    int height=bitmap.getHeight();
    for(int i=0;i<width;i++)
    {
        for(int j=0;j<height;j++)
        {
            final int color = bitmap.getPixel(i, j);
            colorList.put(color,color);

        }
    }
    System.out.println("color list size "+colorList.size());
    System.out.println("color list Name "+colorList);

}

0 个答案:

没有答案