[我的OpenCV学习日志]-1 2021/10/21

一、计算机眼中的图像

[我的OpenCV学习日志]-1 2021/10/21

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()

[我的OpenCV学习日志]-1 2021/10/21

 

img.shape #(h,w,c),3表示图像是RGB类型,即彩色图(BGR)
(1177, 1258, 3)

 

上一篇:【第3版emWin教程】第48章 emWin6.x对话框基础知识


下一篇:ASCII编码表