草庐IT

RGB转HSV

全部标签

python - 如何在 python 中编写/创建 GeoTIFF RGB 图像文件?

我有5个形状为nx,ny的numpy数组lons.shape=(nx,ny)lats.shape=(nx,ny)reds.shape=(nx,ny)greens.shape=(nx,ny)blues.shape=(nx,ny)红色、绿色和蓝色数组包含0–255范围内的值,纬度/经度数组是纬度/经度像素坐标。我的问题是如何将这些数据写入geotiff?我最终想使用basemap绘制图像。这是我到目前为止的代码,但是我得到了一个巨大的GeoTIFF文件(~500MB)并且它是空白的(只是一个黑色图像)。还要注意nx,ny=8120,5416。fromosgeoimportgdalfromo

python - 使用 numpy 将 alpha channel 添加到 RGB 数组

我在RGB空间中有一个图像数组,并希望将alphachannel添加为全零。具体来说,我有一个形状为(205,54,3)的numpy数组,我想将形状更改为(205,54,4),第三维中的附加点全部为0.0'秒。哪个numpy操作可以实现这一点? 最佳答案 您可以使用其中一个堆栈函数(stack/hstack/vstack/dstack/concatenate)将多个数组连接在一起。numpy.dstack((your_input_array,numpy.zeros((205,54))))

python - 使用 Python/PIL 检测 HSV 颜色空间(来自 RGB)中的阈值

我想拍摄一张RGB图像并将其转换为黑白RGB图像,如果像素的HSV值在某个范围之间,则该像素为黑色,否则为白色。目前我创建了一个新图像,然后通过遍历它的数据创建一个新像素值列表,然后.putdata()该列表形成新图像。感觉应该有一种更快的方法来做到这一点,例如使用.point(),但似乎.point()没有获得给定的像素,而是从0到255的值。是否有.point()变换但在像素上? 最佳答案 好的,这确实有效(修复了一些溢出错误):importnumpy,Imagei=Image.open(fp).convert('RGB')a=

python - 将整数转换为 RGB 值并使用 Python 返回

我有两个函数,一个从给定的整数返回RGB值,另一个函数执行相反的操作,为它提供RGB值并返回一个整数。我通过查看我转换为RGB的整数是否从RGB变回原始整数值来对此进行测试,但我得到了不同的值。defgetRGBfromI(RGBint):blue=RGBint&255green=(RGBint>>8)&255red=(RGBint>>16)&255returnred,green,bluedefgetIfromRGB(rgb):red=rgb[0]green=rgb[1]blue=rgb[2]printred,green,blueRGBint=(red测试:i1=2147483647c

python - 将 rgb 代码列表转换为 matplotlib 颜色图

我有一个rgb值列表,想从列表中创建一个costum颜色图。这些是示例值:my_rgbs=['#ece804','#ece804','#e8e804','#e4e804','#e4e804','#e0e804','#dce804','#dce804','#d8e804','#d4e404','#d4e404','#d0e404','#cce404','#cce404','#c8e404','#c4e404','#c4e404','#c0e404','#bce404','#bce404','#b8e404','#b4e004','#b4e004','#b0e004','#ace004',

python - 如何使用 Scikit-Image 库从 Python 中的 RGB 图像中提取绿色 channel ?

我对Python中用于图像处理的scikit-image(skimage)库非常陌生(几分钟前开始!)。我使用imread读取了numpy.ndarray中的图像文件。该数组是三维的,其中第三维的大小为3(即图像的红色、绿色和蓝色分量各一个)。rgb_image=imread("input_rgb_image.jpg")rgb_image.shape#gives(1411L,1411L,3L)我尝试将绿色channel提取为:green_image=rgb_image[:,:,1]但是当我将这个图像矩阵写入输出文件时:imsave("green_output_image.jpg",gr

python - 生成随机颜色 (RGB)

在friend的建议下,我上周刚刚开始使用Python进行图像处理,以生成随机颜色的图案。我在网上找到了这段脚本,它可以在RGB光谱中生成各种不同的颜色。defrandom_color():levels=range(32,256,32)returntuple(random.choice(levels)for_inrange(3))我只是想附加此脚本以仅生成三种随机颜色中的一种。最好是红色、绿色和蓝色。 最佳答案 在256(又名8字节)范围内生成RGB三元组的一种巧妙方法是color=list(np.random.choice(ran

python - imshow 不需要从 BGR 转换为 RGB

正如我所相信的那样,OpenCV以BGRcolorspace顺序读取图像,我们通常必须像这样将其转换回RGB:img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)但是当我尝试简单地读取图像并显示它时,着色看起来不错(无需将BGR转换为RGB):img_bgr=cv2.imread(image_path)cv2.imshow('BGRImage',img_bgr)img_rgb=cv2.cvtColor(img_bgr,cv2.COLOR_BGR2RGB)cv2.imshow('RGBImage',img_rgb)cv2.waitkey(0)imshow()是自

python - HSV2BGR 转换在 Python OpenCV 脚本中失败

我的脚本应该获取灰度图像并将值映射到色调。#!/usr/bin/envpythonimportcv2importnumpyinfile=cv2.imread('Lenna.png')infile=infile[:,:,0]hues=(numpy.array(infile)/255.)*179outimageHSV=numpy.array([[[b,255,255]forbina]forainhues]).astype(int)outimageBGR=cv2.cvtColor(outimageHSV,cv2.COLOR_HSV2BGR)cv2.imshow('dst_rt',outima

python - 从 Seaborn 调色板中提取 RGB 或 6 位代码

Seaborn有一个选项可以创建漂亮的调色板。我希望使用这些调色板生成可以在根据某些属性对国家/地区进行着色的map中很好地协同工作的颜色。下面的代码产生8种深浅不一的紫色。另请注意,指定颜色数量的能力是必需的,因此我不能只使用已定义颜色的固定调色板。importseabornassnsnum_shades=8sns.palplot(sns.cubehelix_palette(num_shades))如果我运行相同但在这样的列表中:color_list=sns.cubehelix_palette(num_shades)你得到:[[0.9312692223325372,0.8201921