python3随笔-opencv读取图像

发布时间:2019-09-26 07:36:40编辑:auto阅读(1802)

    如何安装opencv-python

    $pip3 install opencv-python

    如何读取图像数据

    import numpy as np
    import cv2 as cv
    img = cv.imread('1.png')
    print(img)
    print(img.dtype)

    [[[200 228 197]
    [200 228 197]
    [200 228 197]
    ...
    ...
    [200 228 197]
    [200 228 197]
    [200 228 197]]]

    dtype('uint8')

    使用下面函数

    Mat cv::imread  (   const String &  filename,
    int     flags = IMREAD_COLOR 
    )       
    Python:
    retval  =   cv.imread(  filename[, flags]   )

    imread函数具体说明

    可以通过其行和列坐标访问像素值。对于BGR映像,它返回一个蓝、绿、红值数组。对于灰度图像,只返回相应的强度。数据读取方式为:
    img[行号,列号,:]

    函数根据内容而不是文件扩展名确定图像的类型。
    在彩×××像的情况下,解码后的图像将以B G R顺序存储通道。
    当使用IMREAD_GRAYSCALE时,如果可用,将使用编×××的内部灰度转换。结果可能与cvtColor()的输出不同
    在Microsoft Windows OS和MacOSX上,带有OpenCV映像(libjpeg、libpng、libtiff和libjasper)的编×××默认使用。因此,OpenCV总是可以读取jpeg、png和tiff。在MacOSX上,还有一个使用本地MacOSX图像阅读器的选项。但是要注意的是,由于MacOSX中嵌入了颜色管理,当前这些本机图像加载器提供的图像像素值不同。
    在Linux、BSD版本和其他类unix的开源操作系统上,OpenCV寻找OS映像提供的编×××。安装相关的包(不要忘记开发文件,例如Debian和Ubuntu*中的“libjpeg-dev”)以获得编×××支持或在CMake中打开OPENCV_BUILD_3RDPARTY_LIBS标志。
    在CMake中将WITH_GDAL标记设置为true和IMREAD_LOAD_GDAL来加载图像的情况下,将使用GDAL驱动程序来解码图像,支持以下格式:光栅、向量。
    如果EXIF信息嵌入到图像文件中,将考虑EXIF方向,因此图像将相应地旋转,除非传递了IMREAD_IGNORE_ORIENTATION标记。

    显示图像

    cv.imshow('img',img)

关键字