Python 提取或裁剪出热图像的冷区域或热区域

Python 提取或裁剪出热图像的冷区域或热区域,python,python-3.x,opencv,Python,Python 3.x,Opencv,对于任何热图像,热区和冷区之间都存在差异。是否有任何python库可以从热图像中裁剪或提取这些冷区域或蓝色区域。这些区域可以位于图像中的任何位置。您可以找到每个像素的色调,确定其是否在蓝色阈值范围内,然后将其删除。下面是一个使用PIL和colorsys转换的示例 from PIL import Image import colorsys img = Image.open('zebtherm.jpg') hsv_blue = colorsys.rgb_to_hsv(0, 0, 255) thr

对于任何热图像,热区和冷区之间都存在差异。是否有任何python库可以从热图像中裁剪或提取这些冷区域或蓝色区域。这些区域可以位于图像中的任何位置。

您可以找到每个像素的色调,确定其是否在蓝色阈值范围内,然后将其删除。下面是一个使用PIL和colorsys转换的示例

from PIL import Image
import colorsys

img = Image.open('zebtherm.jpg')

hsv_blue = colorsys.rgb_to_hsv(0, 0, 255)
threshold = 0.1

for x in range(img.width):
    for y in range(img.height):
        hsv = colorsys.rgb_to_hsv(*img.getpixel((x, y))[0:3])
        if(abs(hsv[0] - hsv_blue[0]) < threshold):
            img.putpixel((x, y), (0, 0, 0))
从PIL导入图像
导入colorsys
img=Image.open('zebtherm.jpg')
hsv_blue=colorsys.rgb_到hsv(0,0255)
阈值=0.1
对于范围内的x(img.宽度):
对于范围内的y(惯性高度):
hsv=colorsys.rgb_to_hsv(*img.getpixel((x,y))[0:3])
如果(abs(hsv[0]-hsv_蓝[0])<阈值:
图像像素((x,y),(0,0,0))

您可以找到每个像素的色调,确定其是否在蓝色阈值内,然后将其删除。下面是一个使用PIL和colorsys转换的示例

from PIL import Image
import colorsys

img = Image.open('zebtherm.jpg')

hsv_blue = colorsys.rgb_to_hsv(0, 0, 255)
threshold = 0.1

for x in range(img.width):
    for y in range(img.height):
        hsv = colorsys.rgb_to_hsv(*img.getpixel((x, y))[0:3])
        if(abs(hsv[0] - hsv_blue[0]) < threshold):
            img.putpixel((x, y), (0, 0, 0))
从PIL导入图像
导入colorsys
img=Image.open('zebtherm.jpg')
hsv_blue=colorsys.rgb_到hsv(0,0255)
阈值=0.1
对于范围内的x(img.宽度):
对于范围内的y(惯性高度):
hsv=colorsys.rgb_to_hsv(*img.getpixel((x,y))[0:3])
如果(abs(hsv[0]-hsv_蓝[0])<阈值:
图像像素((x,y),(0,0,0))

请给出生成示例热图像的最少代码,以便于帮助。将图像转换为numpy阵列后,我不知道如何提取这些冷区域,这就是我在这里提出问题的原因。你能给我一些线索让我试试看吗@Kabanusy你可以在非彩色编码的图像上尝试otsu阈值。请给出生成示例热图像的最小代码,以便于帮助。将图像转换为numpy阵列后,我不知道如何提取这些冷区域,这就是我在那里提出问题的原因。你能给我一些线索让我试试看吗@Kabanusy你可以在非彩色编码的图像上尝试otsu阈值。如果我只想有蓝色值,并像你做的那样删除其他值,那么阈值是多少@阿利斯泰尔Carscadden@ZeeshanNisar你可以改变你正在使用的颜色。在我的示例中,
hsv_blue
是蓝色的,我们正在删除任何与之类似的内容,您可以尝试将其更改为红色,程序将删除红色像素。如果我只想使用蓝色值并删除与您所做相反的其他值,那么阈值是多少@阿利斯泰尔Carscadden@ZeeshanNisar你可以改变你正在使用的颜色。在我的示例中,
hsv_blue
是蓝色的,我们正在删除任何类似的内容,您可以尝试将其更改为红色,程序将删除红色像素。