• Python


    Ubuntu16.04安装opencv

    Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)

    在安装之前,如果你之前安装过旧版本的opencv,那么就先将其删除,再进行下面的安装过程。在pip中可以方便快速的安装opencv-python和opencv-contrib-python,只需要输入两条指令即可:

    $ pip install opencv-python #安装opencv
    $ pip install opencv-contrib-python #安装opencv的contrib扩展包

    opencv-python和opencv-contrib-python是否必须要同时安装?
    答:不需要,他们分别可以独自运行,但是一般情况下,都会将两个包都装上

    以下复制自 desolateness  OpenCV中cv2的用法

    一、读入图像

        使用函数cv2.imread(filepath,flags)读入一副图片

        • filepath:要读入图片的完整路径
        • flags:读入图片的标志 
          • cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
          • cv2.IMREAD_GRAYSCALE:读入灰度图片
          • cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道
    import cv2
    img = cv2.imread('1.jpg',cv2.IMREAD_GRAYSCALE)

    二、显示图像

         使用函数cv2.imshow(wname,img)显示图像,第一个参数是显示图像的窗口的名字,第二个参数是要显示的图像(imread读入的图像),窗口大小自动调整为图片大小

    cv2.imshow('image',img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    # dv2.destroyWindow(wname)
    • cv2.waitKey顾名思义等待键盘输入,单位为毫秒,即等待指定的毫秒数看是否有键盘输入,若在等待时间内按下任意键则返回按键的ASCII码,程序继续运行。若没有按下任何键,超时后返回-1。参数为0表示无限等待。不调用waitKey的话,窗口会一闪而逝,看不到显示的图片。
    • cv2.destroyAllWindow()销毁所有窗口
    • cv2.destroyWindow(wname)销毁指定窗口

    三、保存图像

        使用函数cv2.imwrite(file,img,num)保存一个图像。第一个参数是要保存的文件名,第二个参数是要保存的图像。可选的第三个参数,它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3.

      注意:

    • cv2.IMWRITE_JPEG_QUALITY类型为 long ,必须转换成 int
    • cv2.IMWRITE_PNG_COMPRESSION, 从0到9 压缩级别越高图像越小。
    cv2.imwrite('1.png',img, [int( cv2.IMWRITE_JPEG_QUALITY), 95])
    cv2.imwrite('1.png',img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])

    四、图片操作

    1、使用函数cv2.flip(img,flipcode)翻转图像,flipcode控制翻转效果。

    • flipcode = 0:沿x轴翻转
    • flipcode > 0:沿y轴翻转
    • flipcode < 0:x,y轴同时翻转
    imgflip = cv2.flip(img,1)

    2、复制图像

     imgcopy = img.copy()

    3、颜色空间转换

    #彩色图像转为灰度图像
    img2 = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY) 
    #灰度图像转为彩色图像
    img3 = cv2.cvtColor(img,cv2.COLOR_GRAY2RGB)
    # cv2.COLOR_X2Y,其中X,Y = RGB, BGR, GRAY, HSV, YCrCb, XYZ, Lab, Luv, HLS

    示例

    读入一副图像,按’s’键保存后退出,其它任意键则直接退出不保存

    import cv2
    img = cv2.imread('1.jpg',cv2.IMREAD_UNCHANGED)
    cv2.imshow('image',img)
    k = cv2.waitKey(0)
    # wait for 's' key to save and exit
    # if k == 27: 即为ESC键退出
    if k == ord('s'): 
        cv2.imwrite('1.png',img)
        cv2.destroyAllWindows()
    else: 
        cv2.destroyAllWindows()
    # 打开摄像头 参数为输入流,可以为摄像头或视频文件
    # VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是视频文件路径则打开视频,如 cv2.VideoCapture(“./1.avi”)
    camera = cv2.VideoCapture(0)
  • 相关阅读:
    LeetCode-46. Permutations
    LeetCode-40. Combination Sum II
    LeetCode-39. Combination Sum
    剑指offer-数组中的逆序对
    LeetCode-295. Find Median from Data Stream
    LeetCode-268. Missing Number
    LeetCode-515. Find Largest Value in Each Tree Row
    GIS技术在采矿与勘探中的应用
    JavaScript 跨域总结与解决办法giserdqy.com
    JavaScript 跨域总结与解决办法giserdqy.com
  • 原文地址:https://www.cnblogs.com/tanrong/p/9925380.html
Copyright © 2020-2023  润新知