本文主要是介绍【Opencv】rgb2hsv与skimage_hsv的差别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
import cv2
from skimage.color import rgb2hsvcv_HSV = cv2.cvtColor(img_RGB, cv2.COLOR_RGB2HSV)
skimage_HSV = np.array(rgb2hsv(img_RGB) * 255).astype(np.uint8)
如上面的代码所示,cv2.cvtColor使用cv2.COLOR_RGB2HSV是将一个uint8类型的数据img_RGB转换成cv_HSV,此时cv_HSV的数据也是uint8。
而skimage中的rgb2hsv,他是首先将数据转成float64,然后再转成hsv,这时hsv的数据范围从0-255压缩至0-1,数据类型为float64。此后为了将其转成与cv2中的结果类型,就需要转变类型。
在实际操作过程中,这两种方式还是会导致cv_HSV和skimage_HSV的结果有稍微的不同(也就是数值会相差1-2)。
这篇关于【Opencv】rgb2hsv与skimage_hsv的差别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!