gpt4 book ai didi

python - 如何以灰度转换 Cartopy 瓦片?

转载 作者:太空宇宙 更新时间:2023-11-04 02:31:30 27 4
gpt4 key购买 nike

我正在尝试以灰度显示通过 Cartopy 的 img_tiles 模块下载的图 block 。那是因为我想覆盖彩色编码的卫星数据,并且我更喜欢背景尽可能不分散注意力。

source code 中记录的各种图 block 提供程序允许在初始化期间使用 desired_tile_form。文档并不完全清楚可以分配给该参数的可能值(仅提到“RGB”),但在代码中挖掘了一下我发现它被传递给 img.convert,这是一个 PIL.image 方法。

现在 PIL documentation说:

The current version supports all possible conversions between “L”, “RGB” and “CMYK.” The matrix argument only supports “L” and “RGB”.

When translating a color image to black and white (mode “L”), the library uses the ITU-R 601-2 luma transform: [...]

因此看起来使用“L”模式会将图像变成黑白,但在我的情况下这似乎并不奏效。

例子:

标准“RGB”模式:

import matplotlib.pyplot as plt    
import cartopy.crs as ccrs
import cartopy.io.img_tiles as cimgt

figure, ax = plt.subplots(figsize=(15, 10))
request = cimgt.StamenTerrain()
ax = plt.axes(projection=request.crs)
ax.set_extent([94, 102, 0, 6])
ax.add_image(request, 8)
plt.show()

RGB mode

(不工作)黑白模式:

figure, ax = plt.subplots(figsize=(15, 10))
request = cimgt.StamenTerrain(desired_tile_form="L")

ax = plt.axes(projection=request.crs)
ax.set_extent([94, 102, 0, 6])
ax.add_image(request, 8)
plt.show()

bw not working

我用 GoogleTiles() 得到了类似的结果。

将磁贴变成黑白的正确方法是什么?

最佳答案

我不确定这是否是设计使然,但看起来这里使用的是默认颜色图。您可以将不同的颜色图传递给 add_image() 方法,例如:

ax.add_image(request, 8, cmap='gray')

Here's a list of colormaps available in Matplotlib.

关于python - 如何以灰度转换 Cartopy 瓦片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49071176/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com