在Matlab中,有一个函数ind2rgb可以这样使用:

y = ind2rgb(im2uint8(rescale(cfs)),jet(256));

Matlab website人中:

RGB = ind2rgb(X,map)将索引图像X和相应的 colored颜色 映射map转换为RGB(truecolor)格式.

Python中有没有等效的方法?

推荐答案

我不知道是否有内置的类似功能,但您可以使用numpy个数组轻松实现这一点:

import numpy as np

# Create a 5x5 array of indices for demo
img = np.random.randint(0, 10, (5, 5)) 

# Create a fake grayscale colormap for demo
cmap = np.vstack((np.linspace(0, 1, n), np.linspace(0, 1, n), np.linspace(0, 1, n))).T  

现在,cmap的第i行给出了 colored颜色 ,img的每个元素告诉你cmap中的哪个索引是该像素的 colored颜色 ,所以你只需要为img中的每个元素i取第i行.因为numpy的索引与广播一起工作,所以可以将整个img数组作为行索引器,得到一个(img_rows, img_cols, cmap_cols)形状的数组

rgb_img = cmap[img, :]
print(rgb_img.shape) # (5, 5, 3)

换句话说,ind2rgb(img, cmap)相当于cmap[img, :]

Python相关问答推荐

如何知道标志是否由用户传递或具有默认值?

如何让pyparparsing匹配1天或2天,但1天和2天失败?

PyQt5如何将pyuic 5生成的Python类添加到QStackedWidget中?

阅读Polars Python中管道的函数定义

Pydantic 2.7.0模型接受字符串日期时间或无

大Pandas 胚胎中产生组合

需要计算60,000个坐标之间的距离

在Google Colab中设置Llama-2出现问题-加载判断点碎片时Cell-run失败

运行总计基于多列pandas的分组和总和

. str.替换pandas.series的方法未按预期工作

无法通过python-jira访问jira工作日志(log)中的 comments

运输问题分支定界法&

计算每个IP的平均值

在单个对象中解析多个Python数据帧

使用groupby方法移除公共子字符串

如何在turtle中不使用write()来绘制填充字母(例如OEG)

Django—cte给出:QuerySet对象没有属性with_cte''''

人口全部乱序 - Python—Matplotlib—映射

Pandas:填充行并删除重复项,但保留不同的值

如何在一组行中找到循环?