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

numpy生成图片随机矩阵,显示在PIL中

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

numpy生成图片随机矩阵,显示在PIL中

生成的三个数组可以用cv2.merge函数合并,下面写的是我用numpy实现的cv2.merge函数,效率一言难尽,不如opencv原生的函数好用。
pil注意三原色顺寻是rgb,而opencv正好相反,是bgr,切记切记。

from typing import List, Any, Tuple
import matplotlib.pyplot as plt
import cv2
from PIL import Image
import numpy as np


#图片的分辨率为300*200,这里b, g, r设为随机值,注意dtype属性
b = np.random.randint(0, 255, (200, 300), dtype=np.uint8)
g = np.random.randint(0, 255, (200, 300), dtype=np.uint8)
r = np.random.randint(0, 255, (200, 300), dtype=np.uint8)
print(b)
# 合并通道,形成图片
#img = cv2.merge([b, g, r])
img=np.empty([20,30,3],dtype=np.uint8)
bgr=()
rowlist=[]
collist: List[List[Tuple[Any, Any, Any]]]=[]
for row in range(200):
    rowlist=[]
    for col in range(300):
        bgr=(r[row][col],g[row][col],b[row][col])
        rowlist.append(bgr)
    collist.append(rowlist)

img=np.asarray(collist)
print(img)
# 显示图片
plt.imshow(img)
plt.waitforbuttonpress(0)










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

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

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