python OpenCV 入门教程

kkkkk 2018年12月17日 23:09 PythonGUI

虽然python 很强大,而且也有自己的图像处理库PIL,但是相对于OpenCV 来讲,OpenCV更加强大, 可以做更多更复杂的应用,比如人脸识别等。跟很多开源软件一样OpenCV 也提供了完善的python 接口,非常便于调用,它包含了超过2500 个算法和函数,几乎任何一个能想到的成熟算法都可以通过调用OpenCV 的函数来实现,非常实用。


OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

1、图像读入:cv2.imread()

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


• cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略, 

这是默认参数。 

• cv2.IMREAD_GRAYSCALE:以灰度模式读入图像

#!/bin/python
# -*- coding: utf-8 -*-
import cv2
#import numpy as np
# 彩色图模式加载一副彩图
img = cv2.imread('pythontab.jpg',cv2.IMREAD_COLOR)

注意:调用opencv,就算图像的路径是错的,OpenCV 也不会报错或者有warning提示。那么我们如何判断我们载入的图像是正确的呢?很简单,只需要判断print img时得到的结果是None则说明载入错误, 否则载入正确。


2、显示图像cv2.imshow()


使用函数cv2.imshow() 显示图像。窗口会自动调整为图像大小。第一个参数是窗口的名字,其次才是我们的图像。你可以创建多个窗口,只要你喜欢,但是必须给他们不同的名字。

cv2.imshow('image',img) #注意参数顺序
cv2.waitKey(0) 
"""
cv2.waitKey() 是一个键盘绑定函数。需要指出的是它的时间尺度是毫
秒级。函数等待特定的几毫秒,看是否有键盘输入。特定的几毫秒之内,如果
按下任意键,这个函数会返回按键的ASCII 码值,程序将会继续运行。如果没
有键盘输入,返回值为-1,如果我们设置这个函数的参数为0,那它将会无限
期的等待键盘输入。它也可以被用来检测特定键是否被按下,例如按键a 是否
被按下,这个后面我们会接着讨论。
"""
cv2.destroyAllWindows()
"""
cv2.destroyAllWindows() 可以轻易删除任何我们建立的窗口。如果
你想删除特定的窗口可以使用cv2.destroyWindow(),在括号内输入你想删
除的窗口名。
"""

3、保存图像cv2.imwrite()

cv2.imwrite('lena.png',img) #很简单就可以生成一张图片


文章评论(0)
  • avatar kkkkkk 2018年12月21日 11:31
    优秀啊
    kkkkk
    2018年12月21日 11:16
    本文立意正确,紧扣材料说理,观点鲜明而集中,能简练概述作文材料,表达流畅而简洁,体现了较强的语言驱遣能力。比喻、说理等多种方法的运用,使论证具有说服力。诸多引用尤为精彩,体现了作者一定的学养。
    回复
  • avatar kkkkkk 2018年12月21日 11:31
    差劲
    kkkkklxinde
    2018年12月21日 11:17
    这也是一篇优秀的考场作文,本文最大的特点就是中心突出,紧紧围绕中心来展开论证。开篇用语简练,由表及里,揭示内涵,体现了作者的思维的严谨。逻辑流畅,结构清晰。
    回复
  • avatar kkkkklxinde 2018年12月21日 11:17
    这也是一篇优秀的考场作文,本文最大的特点就是中心突出,紧紧围绕中心来展开论证。开篇用语简练,由表及里,揭示内涵,体现了作者的思维的严谨。逻辑流畅,结构清晰。
    回复
  • avatar kkkkk 2018年12月21日 11:16
    本文立意正确,紧扣材料说理,观点鲜明而集中,能简练概述作文材料,表达流畅而简洁,体现了较强的语言驱遣能力。比喻、说理等多种方法的运用,使论证具有说服力。诸多引用尤为精彩,体现了作者一定的学养。
    回复