当前位置:   article > 正文

【计算机视觉】OpenCV 4高级编程与项目实战(Python版)【6】:使用NumPy创建随机雪花点图像_彩色雪花像素点

彩色雪花像素点

上一篇文章演示了如何使用二维数组创建黑白图像,如果要创建彩色图像,就需要使用三维数组。例如,在BGR色彩空间创建200 × 200的彩色图像,就需要一个200 ×200 ×3的三维数组存储像素的颜色值,其中第3维可以存储3个通道的颜色值,分别是B通道、G通道和R通道。也就是我们平常说的三原色:蓝(B)、绿(G)和红(R)。

  1. 创建彩色图像

下面的代码,创建一个三维数组,数组元素初始值都是0,然后将该数组复制3份,将第1个数组的通道1(B通道)设置为255,将第2个数组的通道2(G通道)设置为255,将第3个数组的通道3(R通道)设置为255,这将形成3幅纯色的图像。代码如下:

  1. import cv2
  2. import numpy as np
  3. width = 200 # 图像的宽
  4. height = 200 # 图像的高
  5. # 创建指定宽高、3通道、像素值都为0的图像
  6. img = np.zeros((height, width, 3), np.uint8)
  7. blue = img.copy() # 复制图像
  8. blue[:, :, 0] = 255 # 将通道1中的所有像素都设置为255
  9. green = img.copy()
  10. green[:, :, 1] = 255 # 将通道2中的所有像素都设置为255
  11. red = img.copy()
  12. red[:, :, 2] = 255 # 将通道2中的所有像素都设置为255
  13. cv2.imshow("blue", blue) # 显示蓝色图像
  14. cv2.imshow("green", green) # 显示绿色图像
  15. cv2.imshow("red", red) # 显示红色图像
  16. cv2.waitKey()
  17. cv2.destroyAllWindows()

运行程序,运行结果如图1、图2和图3所示。

2. 创建彩色雪花点图像

下面的例子使用NumPy提供的random.randint函数创建随机数值的三维数组,并将该数组作为图像源显示。由于每一个像素点的颜色都是随机的,所以整体效果看上去就是彩色的雪花点,代码如下:

  1. import cv2
  2. import numpy as np
  3. width = 200 # 图像的宽
  4. height = 200 # 图像的高
  5. # 创建指定宽高、单通道、随机像素值的图像,随机值在0~256之间(不包括256),数字为无符号8位格式
  6. img = np.random.randint(256, size=(height, width,3), dtype=np.uint8)
  7. cv2.imshow("img", img) # 显示彩色雪花点图像
  8. cv2.waitKey()
  9. cv2.destroyAllWindows()

运行程序,会看到如图4所示的效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/252735
推荐阅读
相关标签
  

闽ICP备14008679号