美文网首页
openCV-python(一)图像读取和写入

openCV-python(一)图像读取和写入

作者: 一杯海风_3163 | 来源:发表于2020-05-20 16:42 被阅读0次

    一、了解图像的存储形式

    首先得了解下图像在计算机中存储形式:(为了方便画图,每列像素值都写一样了)

    1.灰色图像

    对于只有黑白颜色的灰度图,为单通道,一个像素块对应矩阵中一个数字,数值为0到255, 其中0表示最暗(黑色) ,255表示最亮(白色)


    image.png
    2.彩色图像

    对于采用RGB模式的彩色图片,为三通道图,Red、Green、Blue三原色,按不同比例相加,一个像素块对应矩阵中的一个向量, 如[24,180, 50],分别表示三种颜色的比列, 即对应深度上的数字,如下图所示:


    image.png
    需要注意的是,由于历史遗留问题,opencv采用BGR模式,而不是RGB

    二、opencv包安装

    这里直接安装opencv-python包(非官方):

    pip install opencv-python
    

    三、openCV简单图像处理

    1.图像的读取和写入
    import cv2
    # 读取图像
    img = cv2.imread('Images/1.bmp')
    # 展示图像  第一个参数为窗口名称,第二个参数为图像对象
    cv2.imshow('newimage',img)
    # 键盘绑定时间,阻塞监听键盘按键,返回一个数字
    cv2.waitKey()
    # 按键盘任意键,窗口关闭,
    cv2.destroyAllWindows() 
    # 关闭指定窗口destroyWindow(窗口名称)
    # cv2.destroyWindow('newimage')
    # 将图片保存在本地,自己命令文件名
    new_img  = cv2.imwrite('3.jpg',img)
    

    运行后如下图,按键盘任意键,窗口关闭,在demo01.py文件同路径下多了一个03.jpg


    image.png
    image.png
    重点:
    1. cv2.imread(img_path,flag) 读取图片,返回图片对象

    img_path: 图片的路径,即使路径错误也不会报错,但打印返回的图片对象为None
    flag:cv2.IMREAD_COLOR,读取彩色图片,图片透明性会被忽略,为默认参数,也可以传入1
    cv2.IMREAD_GRAYSCALE,按灰度模式读取图像,也可以传入0
    cv2.IMREAD_UNCHANGED,读取图像,包括其alpha通道,也可以传入-1

    2. cv2.imshow(window_name,img):显示图片,窗口自适应图片大小

    window_name: 指定窗口的名字
    img:显示的图片对象
    可以指定多个窗口名称,显示多个图片

    3. cv2.waitKey(millseconds) 键盘绑定事件,阻塞监听键盘按键,返回一个数字(不同按键对应的数字不同)

    millseconds: 传入时间毫秒数,在该时间内等待键盘事件;传入0时,会一直等待键盘事件

    4. cv2.destroyAllWindows(window_name)

    window_name: 需要关闭的窗口名字,不传入时关闭所有窗口

    5. cv2.imwrite(img_path_name,img)

    ** img_path_name**:保存的文件名
    img:文件对象

    总结:以上就是openCV-python处理图像的基本操作

    相关文章

      网友评论

          本文标题:openCV-python(一)图像读取和写入

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