zoukankan      html  css  js  c++  java
  • OpenCV学习笔记(1)

    一、读入图像

    使用cv2.imread()读入图像,图像应该在此程序的工作路径,第二个参数是告诉函数应该如何读取这幅图片

    cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,这是默认参数。

    cv2.IMREAD_GRAYSCALE:以灰度模式读入图像,也可以用0表示

    cv2.IMREAD_UNCHANGED:读入一幅图像,并且包括图像的 alpha 通道

    二、显示图像

    使用cv2.imshow()显示图像,第一个参数是窗口名,第二个参数是读入的图像

    img = cv2.imread('2.jpg',0)
    cv2.imshow('image',img)
    cv2.waitKey(0)#若设为1会在1ms后关掉
    cv2.destroyAllWindows()


    即可实现读取图像的作用,其中:

    cv2.waitKey()是一个键盘绑定函数,其参数为指定的毫秒,目标为了检测在这特定的几毫秒内有没有键盘输入。如果有,该函数会返回按键的ASCII码值,如果没有则返回-1,并结束程序。如果我们设为0,表示它无限期等待键盘输入,重点可以使图像框留在桌面。可以根据该函数的返回值来指定当键盘输入某些值的时候执行某些操作

    cv2.destroyAllWindows()可以删除任何我们建立的窗口。如果只想删除指定窗口,也可以用cv2.destroyWindow(),括号内为想删除的窗口名。

    更好的用法是,有时 你需要先创建窗口再加载图像,你可以决定窗口是否可以调整大小。使用到的函数为cv2.namedWindow()。初始设定函数标签为cv2.WINDOWS_AUTOSIZE。但是如果你把标签改为cv2.WINDOW_NORMAL,就可以调整窗口大小了,在某些时候是很有用的

    三、保存图像

    cv2.imwrite('messigray.png',img) 前面为文件名,后面为你要保存的图像

  • 相关阅读:
    面试题:区分List中remove(int index)和remove(Object obj)
    Collection的子接口之一:List 接口
    面试题:ArrayList、LinkedList、Vector三者的异同?
    jdk 5.0 新增的foreach循环(用于遍历集合、数组)
    Iterator迭代器接口(遍历Collection的两种方式之一)
    哈希值
    Collection接口方法
    集合框架的概述
    注解(Annotation)
    System类、Math类、BigInteger与BigDecimal的使用
  • 原文地址:https://www.cnblogs.com/zodiac7/p/9269139.html
Copyright © 2011-2022 走看看