openCV的imread()函数

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数组数据的内存的一个指针。

posted @ 2019-03-24 22:17  ACPIE  阅读(19243)  评论(0编辑  收藏  举报