android - 在Android中使用openCV检测特定颜色的区域

标签 android opencv colors bitmap extract

我使用android的相机功能,并以位图的形式捕获图像。我尝试使用以下方法从捕获的图像中提取特定颜色(红色,粉红色,蓝色,黄色)的区域,但未成功:

for(int i=0;i<bitmap.getWidth();i++){
for(int j=0;j<bitmap.getHeigth();j++){
    int pixel = bitmap.getPixel(i,j);
    if(pixel == Color.RED){
        //create new image
    }
}
 }

我知道openCV可以用于此问题。如果有人可以向我展示方法,将不胜感激。

最佳答案

我认为,可以使用一些Blob库来解决此任务。 cvBlob也是android版本cvBlobAndroid

而当您尝试从头开始时,最好将图像 secret 化到更方便的色彩空间,例如HSV,CIELab等

另外,请勿在条件(A==colorValue)中使用精确的颜色成分值比较,而应使用值范围比较(A>minColorValue && A<maxColorValue)

关于android - 在Android中使用openCV检测特定颜色的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18639181/

相关文章:

android - 如何将库资源添加到 Cordova 项目?

c++ - OpenGL : Strange behaviour 中的 OpenCV 图像

OpenCV FREAK 对旋转/缩放不稳健

matlab - 加快样条曲线的着色段?

jquery - 每个元素的动画

java - Android 的触摸次数翻倍?

java - 创建新项目时未创建 Appcompat_v7

android - 是否有任何 API 可以判断 Android 设备是否是双核设备?

Python OpenCV - ConvexHull 错误 "Points is not a numpy array, neither a scalar"?

python - Pyopengl - 从 VBO 绘制的几条线但是索引颜色 VBO 不起作用