一、计算机眼中的图像
1.在计算机中,将一个图像分成好多大小相同的块,每一块又由许多小块组成,我们称之为像素点,每一个像素点代表一个值,其取值范围是0--255,数值越大表示亮度越高
2.RGB是图像的颜色通道(R:red;G:green;B:blue),彩色图才有此三通道,灰度图(黑白图)只有一个通道表示亮度就足够了
3.例:一个高500,宽500的彩色图片,则此图片维度是[500,500,3]
二、图片的读取
import cv2 #opencv读取的格式是BGR
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
img = cv2.imread('D:/fzd2.jpg')#读取图像
img #此时产生的是一个像素值矩阵;[h,w,c];
array([[[ 49, 11, 17], [ 49, 11, 17], [ 49, 11, 17], ..., [ 62, 11, 25], [ 61, 10, 24], [ 61, 10, 24]], [[ 49, 11, 17], [ 49, 11, 17], [ 49, 11, 17], ..., [ 60, 9, 23], [ 61, 10, 24], [ 61, 10, 24]], [[ 48, 10, 16], [ 48, 10, 16], [ 48, 10, 16], ..., [ 57, 8, 22], [ 58, 9, 23], [ 58, 9, 23]], ..., [[210, 189, 174], [210, 189, 174], [210, 189, 174], ..., [169, 38, 48], [170, 39, 49], [170, 39, 49]], [[211, 190, 175], [211, 190, 175], [211, 190, 175], ..., [169, 38, 48], [167, 36, 46], [167, 36, 46]], [[212, 191, 176], [213, 192, 177], [212, 191, 176], ..., [169, 40, 49], [167, 38, 47], [168, 39, 48]]], dtype=uint8)
#图像的显示,也可以创建多个窗口
cv2.imshow('image',img)
#等待时间,毫秒级,0表示按键盘中任意键终止
cv2.waitKey(0) #数字表示等待时间,如果写10000就是指图片显示10秒后自动消失
cv2.destroyAllWindows()
img.shape #(h,w,c),3表示图像是RGB类型,即彩色图(BGR)
(1177, 1258, 3)