我也尝试过OpenCV-Sample-Color-blob检测代码,但实际上我想要的是这可以在Bitmap上工作,而不是相机视图。
我尝试过以下代码,
public boolean onTouch(View v, MotionEvent event)
{
int x = (int)event.getX();
int y = (int)event.getY();
Log.e("Test", "Touch image coordinates:"+x+" , "+y);
Log.e("Test", "color:"+bimp.getPixel(x, y));
int xclear = bimp.getPixel(x, y) ;
int xclear_red = Color.red(xclear) ;
int xclear_blue = Color.blue(xclear) ;
int xclear_green = Color.green(xclear) ;
if ((x < 0) || (y < 0) || (x > bimp.getWidth()) || (y > bimp.getHeight()))
return false;
for(int x1=0 ; x1<bimp.getWidth() ; x1++)
{
for(int y1=0 ; y1<bimp.getHeight() ; y1++)
{
int px = bimp.getPixel(x1, y1);
int px_red = Color.red(px) ;
int px_blue = Color.blue(px) ;
int px_green = Color.green(px) ;
if((px_red+10 > xclear_red) && (px_red -10 < xclear_red))
{
if((px_blue > xclear_blue) && (px_blue-10 < xclear_blue))
{
if((px_green+10 > xclear_green) && (px_green-10 < xclear_green))
{
bimp.setPixel(x1, y1, Color.TRANSPARENT);
}
}
}
}
if(x1 == bimp.getWidth()-1 )
img.setImageBitmap(bimp);
}
return false; // don't need subsequent touch events
}
正在制作类似(+或 - 10)像素颜色的像素,我已触及透明。
但我真正想要的是(如下图所示)。
用于选择相似的彩色像素(用红色边框显示)作为Photoshop中魔杖工具的动作。这样我就可以使选定的部分透明或裁剪。
请建议我一些想法。谢谢你。