美文网首页
opencv对图片的基本操作

opencv对图片的基本操作

作者: _Haimei | 来源:发表于2018-12-20 14:25 被阅读83次

图片是一个numpy的ndarray数组,并且是三维的,对图片的操作就是对数组的操作
图片的基本构成:

>>> img
array([[[88, 85, 24],
        [88, 85, 24],
        [88, 85, 24],
        ...,
        [83, 81, 23],
        [83, 81, 23],
        [83, 81, 23]],

       [[88, 85, 24],
        [88, 85, 24],
        [88, 85, 24],
        ...,
        [83, 81, 23],
        [83, 81, 23],
        [83, 81, 23]],

       [[88, 85, 24],
        [88, 85, 24],
        [88, 85, 24],
        ...,
        [83, 81, 23],
        [83, 81, 23],
        [83, 81, 23]],

       ...,

       [[98, 92, 27],
        [98, 92, 27],
        [98, 92, 27],
        ...,
        [87, 83, 24],
        [87, 83, 24],
        [87, 83, 24]],

       [[98, 92, 27],
        [98, 92, 27],
        [98, 92, 27],
        ...,
        [87, 83, 24],
        [87, 83, 24],
        [87, 83, 24]],

       [[98, 92, 27],
        [98, 92, 27],
        [98, 92, 27],
        ...,
        [87, 83, 24],
        [87, 83, 24],
        [87, 83, 24]]], dtype=uint8)
>>> import cv2
>>> img_path = 'Tom.jpg'
>>> img = cv2.imread(img_path,0)

imread()函数
第一个参数指定图片的路径
第二个参数指定图片读取的方式,有1、0、-1三种取值
1:cv2.IMREAD_COLOR,默认值,读入彩色图片,忽略透明度
0:cv2.IMREAD_GRAYSCALE,以灰度模式读取图片
-1:cv2.IMREAD_UNCHANGED,读入彩色图片,并保持透明度信息

#图片是一个numpy的ndarray数组,并且是三维的
>>> type(img)
<class 'numpy.ndarray'>
>>> img.ndim
3
#图片的像素,也可以理解为图片的大小尺寸(高300,宽382),300行382列3原色,行和列索引从0开始
>>> img.shape
(300, 382, 3)
#第一行第一列的像素点的三原色
>>> img[0,0]
array([88, 85, 24], dtype=uint8)

图片的基本信息


#导入库
>>> import cv2
#设置图片的路径
>>> img_path = 'Tom.jpg'
#传入图片的路径
>>> img = cv2.imread(filename = img_path)
#显示图片,winname为显示窗口的名称,mat为图片(这里窗口是灰色的,没有显示图片)
>>> cv2.imshow(winname="Tom",mat=img)
#显示等待(这里显示图片)
>>> cv2.waitKey()
#按任意键可关闭图片
>>> cv2.destroyAllWindows()

图像调色


相关文章

网友评论

      本文标题:opencv对图片的基本操作

      本文链接:https://www.haomeiwen.com/subject/gtpekqtx.html