我使用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/