1 path = 'E:\\pythoncodes\\learningopenCV\\read_image.jpg'
2 img = cv2.imread(path,cv2.IMREAD_COLOR)
3 print(img.shape)
cv2.imread(path,读取方式)
1.读取方式分为:cv2.IMREAD_COLOR:读入一副彩色图片;cv2.IMREAD_GRAYSCALE:以灰度模式读入图片;cv2.IMREAD_UNCHANGED:读入一幅图片,并包括其alpha通道。
2.该函数的返回值是一个三维ndarray数组,上面的程序运行结果如下图:
然后再来看一下图片read_image.jpg的属性信息,如下图:
仔细观察不难看出,程序返回的元组的前两个值220,280分别为图片的“高度”和“宽度”。剩下的那个数3,应该是代表每个像素点是由BGR三个元素组成的。
import cv2
import numpy as np
arr = np.arange(15)
print(len(arr))
arr1 = arr.reshape(5,3)
print(arr1)
print(len(arr1))
arr2 = np.array([1,2])
print(arr2)
print(arr2.size)
img = cv2.imread('C:\\Users\\96294\\Pictures\\Saved Pictures\\1.jpg', cv2.IMREAD_COLOR)
print(isinstance(img, np.ndarray))
if isinstance(img, np.ndarray): #判断图片是否读取成功
print(len(img))
cv2.imshow('pic',img)
cv2.waitKey(0)
img是<class 'numpy.ndarray'>类型的,img.shape是一个包含三个元素的元祖,img.data是<class 'memoryview'>类型的。
numpy中是这样解释ndarray.data的:
data
Python buffer object pointing to the start of the array's data.
所以我们可以将ndarray.data理解为一个指向存储array数组数据的内存的一个指针。
来源:oschina
链接:https://my.oschina.net/u/4327545/blog/3600365