import cv2 as cv
def get_image_shape():
# 彩色模式读取(三通道)
image = cv.imread("./images/butterfly.jpg")
print('shape:', image.shape)
print('size:', image.size)
print('dtype:', image.dtype)
# 灰度模式读取(单通道)
gary_image = cv.imread("./images/butterfly.jpg",0)
print('shape:', gary_image.shape)
print('size:', gary_image.size)
print('dtype:', gary_image.dtype)
if __name__ == "__main__":
get_image_shape()
函数名 | 说明 |
---|---|
numpy.array | 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。 |
numpy.zeros | 创建指定大小的数组,数组元素以 0 来填充。 |
numpy.zeros_like | 输出为形状和输入的numpy.array一致的矩阵,数组元素以 0 来填充。 |
numpy.asarray | 从已有的数组创建数组,numpy.asarray 类似 numpy.array,但 numpy.asarray 参数只有三个,比 numpy.array 少两个。 |
numpy.copy | 返回给定 numpy.array 的深拷贝。 |
numpy.reshape | 不改变数据的条件下修改形状。 |
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
名称 | 说明 |
---|---|
object | 数组或嵌套的数列。 |
dtype | 数组元素的数据类型,可选。 |
copy | 对象是否需要复制,可选。 |
order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)。 |
subok | 默认返回一个与基类类型一致的数组。 |
ndmin | 指定生成数组的最小维度。 |
numpy.zeros(shape, dtype = float, order = 'C')
名称 | 说明 |
---|---|
shape | 数组形状。 |
dtype | 数据类型,可选。 |
order | 可选,‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序。 |
numpy.zeros_like(a, dtype = None, order = 'K', subok=Ture)
名称 | 说明 |
---|---|
a | 任意形式的输入参数,可以是,列表, 列表的元组, 元组, 元组的元组, 元组的列表,多维数组。 |
dtype | 数据类型,可选。 |
order | 可选,‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序。 |
subok | 如果是True,新创建的数组使用a的子类类型。 |
numpy.asarray(a, dtype = None, order = None)
名称 | 说明 |
---|---|
a | 任意形式的输入参数,可以是,列表, 列表的元组, 元组, 元组的元组, 元组的列表,多维数组。 |
dtype | 数据类型,可选。 |
order | 可选,‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序。 |
numpy.copy(a, order=‘K’)
名称 | 说明 |
---|---|
a | 任意形式的输入参数,可以是,列表, 列表的元组, 元组, 元组的元组, 元组的列表,多维数组。 |
order | 可选,‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序。 |
numpy.reshape(a, newshape, order='C')
名称 | 说明 |
---|---|
a | 任意形式的输入参数,可以是,列表, 列表的元组, 元组, 元组的元组, 元组的列表,多维数组。 |
newshape | 整数或者整数数组,新的形状应当兼容原有形状。 |
order | 可选,‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序。 |
函数名 | 说明 |
---|---|
numpy.zeros | 创建一个黑色背景图像。 |
numpy.zeros_like | 创建一个与输入图像大小一致的黑色背景图像。 |
numpy.ones | 创建一个全部像素值是1的图像。 |
image = np.zeros((500,500,3))
image = np.zeros((500,500,3))
image[:] = 255
image = np.zeros((500,500,3))
image[:] = (255,0,0)
import cv2 as cv
import numpy as np
def create_image():
# 创建一个500*500的三通道黑色图像
image = np.zeros((500,500,3))
cv.imshow("zeros", image)
# 创建一个500*500的三通道白色图像
white_image = np.copy(image)
white_image[:] = 255
cv.imshow("white_image", white_image)
# 创建一个500*500的三通道蓝色图像
blue_image = np.copy(image)
blue_image[:] = (255,0,0)
cv.imshow("blue_image", blue_image)
cv.waitKey(0)
cv.destroyAllWindows()
if __name__ == "__main__":
create_image()
import cv2 as cv
import numpy as np
def create_many_color():
image = np.zeros((300,300,3))
image[0:150] = (255,0,0)
image[150:300] = (0,0,255)
cv.imshow("image", image)
cv.waitKey(0)
cv.destroyAllWindows()
if __name__ == "__main__":
create_many_color()