如何裁剪和映射HSV色图?

问题描述 投票:0回答:0

我想在 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)

这是我的 python 代码的输出图像:

这是 napari 图像查看器:

来自 napari gui:对比度限制是一个二元组,其中第二个值大于第一个。较小的对比度限制对应于将映射到颜色图中由 0 定义的颜色的图像数据的值。小于此值的图像数据的所有值也将映射到此颜色。较大的对比度限制对应于将映射到颜色图中由 1 定义的颜色的图像数据的值。所有大于此值的图像数据值也将映射到此颜色。

希望你能帮助我将 HSV 颜色图重新缩放到一个新的范围。非常感谢。

python opencv computer-vision hsv rescale
© www.soinside.com 2019 - 2024. All rights reserved.