网站建设公司走进深圳一百讯,专业网站开发设计,类似于 wordpress,微网站怎么做微名片专栏地址#xff1a;『youcans 的 OpenCV 例程 300 篇』 【OpenCV 例程300篇】07. 图像的创建#xff08;np.zeros#xff09; OpenCV 中图像对象的数据结构是 ndarray 多维数组#xff0c;因此可以用 Numpy 创建多维数组来生成图像。特别对于空白、黑色、白色、随机等特殊…专栏地址『youcans 的 OpenCV 例程 300 篇』 【OpenCV 例程300篇】07. 图像的创建np.zeros OpenCV 中图像对象的数据结构是 ndarray 多维数组因此可以用 Numpy 创建多维数组来生成图像。特别对于空白、黑色、白色、随机等特殊图像用 Numpy 创建图像非常方便。
Numpy 可以使用 np.zeros() 等方法创建指定大小、类型的图像对象也可以使用 np.zeros_like() 等方法创建与已有图像大小、类型相同的新图像。
函数说明 numpy.empty(shape[, dtype, order]) # 返回一个指定形状和类型的空数组 numpy.zeros(shape[, dtype, order]) # 返回一个指定形状和类型的全零数组 numpy.ones(shape[, dtype, order]) # 返回一个指定形状和类型的全一数组 numpy.empty_like(img) # 返回一个与图像 img 形状和类型相同的空数组 numpy.zeros_like(img) # 返回一个与图像 img 形状和类型相同的全零数组 numpy.ones_like(img) # 返回一个与图像 img 形状和类型相同的全一数组 参数说明
shape整型元组定义返回多维数组的形状dtype数据类型定义返回多维数组的类型可选项imgndarray 多维数组表示一个灰度或彩色图像
基本例程 # 1.14 Numpy 创建图像# 创建彩色图像(RGB)# (1) 通过宽度高度值创建多维数组height, width, channels 400, 300, 3 # 行/高度, 列/宽度, 通道数imgEmpty np.empty((height, width, channels), np.uint8) # 创建空白数组imgBlack np.zeros((height, width, channels), np.uint8) # 创建黑色图像 RGB0imgWhite np.ones((height, width, channels), np.uint8) * 255 # 创建白色图像 RGB255# (2) 创建相同形状的多维数组img1 cv2.imread(../images/imgLena.tif, flags1) # flags1 读取彩色图像(BGR)imgBlackLike np.zeros_like(img1) # 创建与 img1 相同形状的黑色图像imgWhiteLike np.ones_like(img1) * 255 # 创建与 img1 相同形状的白色图像# (3) 创建彩色随机图像 RGBrandomimport osrandomByteArray bytearray(os.urandom(height * width * channels))flatNumpyArray np.array(randomByteArray)imgRGBRand flatNumpyArray.reshape(height, width, channels)# (4) 创建灰度图像imgGrayWhite np.ones((height, width), np.uint8) * 255 # 创建白色图像 Gray255imgGrayBlack np.zeros((height, width), np.uint8) # 创建黑色图像 Gray0imgGrayEye np.eye(width) # 创建对角线元素为1 的单位矩阵randomByteArray bytearray(os.urandom(height*width))flatNumpyArray np.array(randomByteArray)imgGrayRand flatNumpyArray.reshape(height, width) # 创建灰度随机图像 Grayrandomprint(Shape of image: gray {}, RGB {}.format(imgGrayRand.shape, imgRGBRand.shape))cv2.imshow(DemoGray, imgGrayRand) # 在窗口显示 灰度随机图像cv2.imshow(DemoRGB, imgRGBRand) # 在窗口显示 彩色随机图像cv2.imshow(DemoBlack, imgBlack) # 在窗口显示 黑色图像key cv2.waitKey(0) # 等待按键命令本例程的运行结果如下
本节完 【第1章图像的基本操作】 06. 像素的编辑img.itemset 07. 图像的创建np.zeros 08. 图像的复制np.copy 09. 图像的裁剪cv2.selectROI 10. 图像的拼接np.hstack 版权声明 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/125112487) Copyright 2022 youcans, XUPT Crated2021-11-18