更改位图的一种特定颜色

时间:2018-03-19 20:37:03

标签: android bitmap colorfilter android-color

我有ImageView加载位图。在这个位图中,我想用另一种颜色替换给定颜色的所有像素。我已经对此进行了广泛搜索,但大多数答案似乎都是指使用标准ColorFilter(将色调应用于所有像素)或手动循环遍历所有像素并替换颜色是否与给定的输入颜色匹配。

是否真的没有更标准化的方法将滤镜应用于给定的单一颜色?或者从位图和给定的单一颜色创建蒙版,然后使用该蒙版应用过滤器?如果我不得不手动改变位图并编写代码来改变每个像素,我会感到非常惊讶! 请注意,我还要确保不会破坏抗锯齿等。使用标准ColorFilter / android:tint时,会保留圆角等抗锯齿功能。我只想针对给定的颜色或颜色范围选择性地应用滤镜。这有什么API吗?

1 个答案:

答案 0 :(得分:0)

为Android打开简历似乎是您需要的东西: https://opencv.org/platforms/android/

在这里,您可以找到找到给定颜色像素的示例:OpenCV Android Green Color Detection

如果您的位图是某种真实照片,并且您正在寻找可以捕捉某些部分颜色幽灵的东西,那么OpenCV可能是最好的选择。