【发布时间】:2016-04-18 16:32:59
【问题描述】:
我想将相机拍摄的照片中除黑色以外的所有颜色更改为白色。但是物体的黑色随着光线和白平衡的变化而变化,不能被检测为黑色,然后也变成了白色
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)