skimage的图像输入格式为RGB,三个通道范围为0-255,输出的hsv三个通道范围为0-1
cv2可以根据cv.cvtColor()函数中的参数调整输入格式,输出的范围若参数为cv2.COLOR_BGR2HSV_FULL则HSV输出均在0-255具体可看文章
由下面代码对比可知,skimage在内部转变为cv2.COLOR_BGR2HSV_FULL形式 / 255的结果。
import cv2
import numpy as np
from PIL import Image
from skimage.color import rgb2hsv
path = 'test.jpg'
image_ski = Image.open(path).convert('RGB')
out_ski = rgb2hsv(image_ski)
out_255_ski = out_ski*255
image_cv2 = cv2.imread(path)
out_cv2 = cv2.cvtColor(image_cv2, cv2.COLOR_BGR2HSV_FULL)
print(out_255_ski[:,:,0][0])
print('\n--------\n')
print(out_cv2[:,:,0][0])
'''
[ 17.38636364 17.38636364 20.13157895 ... 8.5 244.375
244.375 ]
--------
[ 17 17 20 ... 9 245 245]
'''