gpt4 book ai didi

android - 静态图像中的颜色检测 - OpenCV Android

转载 作者:太空宇宙 更新时间:2023-11-03 22:14:59 24 4
gpt4 key购买 nike

我有一张图片,有四个方 block ,红色、绿色、蓝色和黄色。我需要获取每个方 block 的 rgb 值。我能够获得整个图像的 rgb,但我想要它用于特定部分。

  • 我要获取的图像将来自相机并存储在 SDCard 上

最佳答案

我不知道我是否完全理解你的意思,但它来了。

您需要创建 BufferedImage 对象来获取 RGB 值:

File f = new File(yourFilePath);
BufferedImage img = ImageIO.read(f);

从那时起,您可以从图像中获取 RGB 颜色值。你有 4 个正方形;要检查它们的 RGB 值,您可以检查角像素的 RGB 值:

Color leftTop = new Color(img.getRGB(0, 0));
Color rightTop = new Color(img.getRGB(img.getWidth - 1, 0));
Color leftBottom = new Color(img.getRGB(0, img.getHeight - 1));
Color rightBottom = new Color(img.getRGB(img.getWidth - 1, img.getHeight - 1));

之后很容易分别得到红色、绿色和蓝色的值:

int red = leftTop.getRed();
int green = leftTop.getGreen();
int blue = leftTop.getBlue();

编辑:真的很抱歉,我没有看到它适用于 Android。如您所说,Android 没有 ImageIO 类。要在 Android 中完成任务,首先要初始化图像:

Bitmap img = BitmapFactory.decodeFile(yourFilePath);

从那时起,操作几乎是一样的:

int leftTop = img.getPixel(0, 0);
...

int red = Color.red(pixel);
int blue = Color.blue(pixel);
int green = Color.green(pixel);

关于android - 静态图像中的颜色检测 - OpenCV Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16643070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com