栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【数字图像处理与python】自定义三维数组转换为彩色图像、自定义二维数组转为灰度图像

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【数字图像处理与python】自定义三维数组转换为彩色图像、自定义二维数组转为灰度图像

自定义三维数组转换为彩色图像
"""自定义三维数组转换为彩色图像"""
import skimage
import numpy as np

# 创建一个三维数组
arr1 = [
    [[255, 0, 0], [255, 255, 0], [0, 255, 0]],
    [[255, 0, 255], [0, 0, 255], [0, 255, 255]]
]

# 如果每个元素的数值相同,则是灰度图中的颜色
arr2 = [
    [[150, 150, 150], [200, 200, 200]],
    [[50, 50, 50], [100, 100, 100]]
]

# 几种颜色
arr3 = [
    [[25, 202, 173], [140, 199, 181], [160, 238, 225], [190, 231, 233], [190, 237, 199]],
    [[214, 213, 183], [209, 186, 116], [230, 206, 172], [236, 173, 158], [244, 96, 108]]
]

# 普通数组需要先转换为numpy数组才可以作为图像显示
img1 = np.array(arr1)
img2 = np.array(arr2)
img3 = np.array(arr3)

# numpy的hstack()将数组水平堆叠,参数为一个列表,要求每个数组有相同的行数以及通道数
# numpy的vstack()将数组垂直堆叠,参数为一个列表,要求每个数组有相同的列数以及通道数
# 先将img1与img2水平堆叠,之后再与img3垂直堆叠
skimage.io.imshow(np.vstack([np.hstack([img1, img2]), img3]))
skimage.io.show()

自定义二维数组转为灰度图像
"""自定义二维数组转为灰度图像"""
from skimage import io
import numpy as np

# 如果不规定上下界,则自动将最小值显示为黑,最大值显示为白
# 如果需要以黑色为0,白色为255级别显示数据,则需要加参数vmin=0, vmax=255
arr1 = [
    [200, 50, 125],
    [175, 100, 50]
]

# 0-1之间的浮点数矩阵显示为灰度图,超过范围则按热度图显示。需要指定cmap
arr2 = [
    [.85, .6, .4],
    [.5, .15, .7]
]

img1 = np.array(arr1)
img2 = np.array(arr2)

# io.imshow(img1, cmap='gray', vmin=0, vmax=255)
io.imshow(img1, cmap='gray')
io.show()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/977471.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号