在numpy中进行对颜色A到颜色B的替换时,用遍历的方法是非常慢的,后来发现有人提出使用rgb颜色分离的方法,对rgb三个通道分别进行颜色替换。
非常繁琐,且RGB三个颜色要分别出现在代码的不同地方,容易出错。
后来我发现all方法可以带参数,对某一坐标的真值进行合并,代码如下:
mat[(mat== [0, 255, 0]).all(2)] = [0, 0, 255]
仅仅使用一行代码就完成了对三通道颜色的转换,而且效率极高。例子中是将绿色转为红色,效果如下
在numpy中进行对颜色A到颜色B的替换时,用遍历的方法是非常慢的,后来发现有人提出使用rgb颜色分离的方法,对rgb三个通道分别进行颜色替换。
非常繁琐,且RGB三个颜色要分别出现在代码的不同地方,容易出错。
后来我发现all方法可以带参数,对某一坐标的真值进行合并,代码如下:
mat[(mat== [0, 255, 0]).all(2)] = [0, 0, 255]
仅仅使用一行代码就完成了对三通道颜色的转换,而且效率极高。例子中是将绿色转为红色,效果如下