考虑下图:
以下 MATLAB 代码返回色调值的直方图:
img1 = imread('img.png');
img1(img1<1) = 0;
%
img_hsv = rgb2hsv(img1);
hue_img = img_hsv(:,:,1);
array = hue_img(hue_img > 0.1);
histfit(array, 20)
它返回错误的 Hue 值,但 Python 中的等效代码返回正确的值。
import cv2
import matplotlib.pyplot as plt
import numpy as np
from skimage import data
from skimage.color import rgb2hsv
img = cv2.imread(r"img.png")
rgb_img = img
hsv_img = rgb2hsv(rgb_img)
hue_img = hsv_img[:, :, 0]
hue_img[np.where(hue_img > 0.1)]
array = hue_img[np.where(hue_img > 0.1)]
plt.hist(array,bins=100)
通过在任何图像编辑软件中使用颜色选择器工具,我们可以看到正确的色调值大约是 100 分中的 50 分或 1 分中的 0.5 分。
我们如何从 MATLAB 中获得正确的色调值rgb2hsv
?
慕田峪4524236
相关分类