我有ImageView
加载位图。在这个位图中,我想用另一种颜色替换给定颜色的所有像素。我已经对此进行了广泛搜索,但大多数答案似乎都是指使用标准ColorFilter
(将色调应用于所有像素)或手动循环遍历所有像素并替换颜色是否与给定的输入颜色匹配。
是否真的没有更标准化的方法将滤镜应用于给定的单一颜色?或者从位图和给定的单一颜色创建蒙版,然后使用该蒙版应用过滤器?如果我不得不手动改变位图并编写代码来改变每个像素,我会感到非常惊讶!
请注意,我还要确保不会破坏抗锯齿等。使用标准ColorFilter
/ android:tint
时,会保留圆角等抗锯齿功能。我只想针对给定的颜色或颜色范围选择性地应用滤镜。这有什么API吗?
答案 0 :(得分:0)
为Android打开简历似乎是您需要的东西: https://opencv.org/platforms/android/
在这里,您可以找到找到给定颜色像素的示例:OpenCV Android Green Color Detection
如果您的位图是某种真实照片,并且您正在寻找可以捕捉某些部分颜色幽灵的东西,那么OpenCV可能是最好的选择。