所以我运行了一段代码,可以让我去饱和,然后饱和图像。我有一个函数,应该允许我这样做,但无论我如何改变代码,它总是改变颜色,所以它不会去饱和
我的功能:
def desaturation(img,percent=.5):
imgGreen=img[:,:,1]
desatGreen=imgGreen*percent
desatImg=img[:,:,:]
desatImg[:,:,1]=desatGreen
return desatImg
每次我运行它时,它都会将颜色转换为洋红色,而不是我所期望的不饱和的外观。我希望颜色范围仍然保留在BGR中,而不是任何其他颜色范围。有没有什么代码可以帮助我完成这项工作,不依赖其他内置函数,而是直接完成
编辑:我设置了百分比变量,因此它不能超过1,也不能低于0
编辑:我想去饱和整个图像。我编写代码的方式有点误导
下面是一种在Python OpenCV中去除绿色饱和度的简单方法。方法是转换成CMYK,然后使C和Y通道去饱和。不幸的是,OpenCV没有内置BGR2CMYK颜色转换。所以我们需要进行计算。此方法也会影响其他颜色
输入:
去饱和至50%:
将饱和度降至25%:
将饱和度降至0:
在Python OpenCV中去除颜色(绿色)饱和度的正确方法是在HSV颜色空间中工作
输入:
使绿50%去饱和:
去饱和绿25%:
去饱和绿色0:
相关问题 更多 >
编程相关推荐