我想在 HSV 彩色地图中裁剪和映射特定范围。 我尝试了以下代码来尝试复制 napari 图像查看器图像处理,但无法使用我的 Python 代码重新缩放 HSV 范围。
import os, glob
import cv2
import matplotlib.pyplot as plt
from skimage import io, exposure
from natsort import natsorted
import numpy as np
image1 = cv2.imread('Garfield.tiff')
image2 = exposure.rescale_intensity (image1, in_range=(100, 230))
image3 = np.zeros(image2.shape, image2.dtype)
#alpha = 1.5 # Simple contrast control
#beta = 0 # Simple brightness control
for y in range(image2.shape[0]):
for x in range(image2.shape[1]):
for c in range(image2.shape[2]):
image3[y,x,c] = np.clip(2 * image2[y,x,c], 0, 255)
image4 = cv2.applyColorMap(image3, cv2.COLORMAP_HSV)
cv2.imwrite("New_Garfield.tiff", image4)
来自 napari gui:对比度限制是一个二元组,其中第二个值大于第一个。较小的对比度限制对应于将映射到颜色图中由 0 定义的颜色的图像数据的值。小于此值的图像数据的所有值也将映射到此颜色。较大的对比度限制对应于将映射到颜色图中由 1 定义的颜色的图像数据的值。所有大于此值的图像数据值也将映射到此颜色。
希望你能帮助我将 HSV 颜色图重新缩放到一个新的范围。非常感谢。