自定义三维数组转换为彩色图像
"""自定义三维数组转换为彩色图像"""import skimageimport 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 ioimport numpy as np# 如果不规定上下界,则自动将最小值显示为黑,最大值显示为白# 如果需要以黑色为0,白色为255级别显示数据,则需要加参数vmin=0, vmax=255arr1 = [[200, 50, 125],[175, 100, 50]]# 0-1之间的浮点数矩阵显示为灰度图,超过范围则按热度图显示。需要指定cmaparr2 = [[.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()