我想从相机拍摄的照片中将除黑色以外的所有颜色都改为白色。然而,物体的黑色会随着光线和白平衡的变化而改变,因此无法被检测为黑色并且也不能被改为白色。
我想知道像素的颜色是否可以与黑色范围进行比较,而不是Color.BLACK。
谢谢。
public void subColor(Mat src, String timeStamp, File mediaStorageDir) throws FileNotFoundException {
Bitmap output = Bitmap.createBitmap(src.width(), src.height(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(src, output);
for (int x = 0; x < output.getWidth(); x++)
for (int y = 0; y < output.getHeight(); y++) {
int pixel = output.getPixel(x, y);
if (pixel != Color.BLACK)
output.setPixel(x, y, Color.WHITE);
}
String mImageName= timeStamp + "_EDIT" + ".jpg";
File mediaFile = new File(mediaStorageDir.getPath() + File.separator + mImageName);
FileOutputStream fos = new FileOutputStream(mediaFile);
output.compress(Bitmap.CompressFormat.JPEG, 100, fos);
}
我想知道像素的颜色是否可以与黑色范围进行比较,而不是Color.BLACK。
谢谢。
int pixel = output.getPixel(x, y)
应该从源位图中获取,而不是输出位图,即正确写法为:int pixel = src.getPixel(x, y)
。 - Damilola Olowookere