一、以灰度图的形式加载彩色图像。

https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_image_display/py_image_display.html

  1. import numpy as np
  2. import cv2
  3.  
  4. # Load an color image in grayscale
  5. img = cv2.imread('lane_line.jpg',0)
  6. cv2.imshow("image", img)
  7. cv2.waitKey(0)

警告:即便路径错误,也不会抛出错误,只会返回None。

二、显示一个图像。

  1. '''
  2. 图像显示函数:cv2.imshow('image',img)
  3. 第一个参数是一个窗口名,它是一个字符串。第二个参数是我们的图像。您可以创建任意数量的窗口,但是使用不同的窗口名称。
  4. '''
  5. import numpy as np
  6. import cv2
  7.  
  8. # Load an color image in grayscale
  9. img = cv2.imread('lane_line.jpg',0)
  10. cv2.imshow('image',img)
  11. cv2.waitKey(0)
  12. cv2.destroyAllWindows()

三、waitKey()函数:

waitkey()是一个键盘绑定函数。它的参数是以毫秒为单位的时间。该函数等待任何键盘事件的指定毫秒。如果在这段时间内按任意键,程序将继续。如果传递0,它将无限期地等待击键。它还可以设置检测特定的击键,如,如果按下键a等。

四、destroy allwindows()函数:

destroy allwindows()只会销毁我们创建的所有窗口。如果您希望销毁任何特定的窗口,请使用函数cv2.destroyWindow(),在该函数中,您将传递确切的窗口名作为参数

五、图像窗口可调:

  1. '''
  2. 注意,有一种特殊的情况,您可以在稍后创建窗口并将图像加载到其中。在这种情况下,您可以指定窗口是否可调整大小。
  3. 这是通过函数cv2.namedWindow()完成的。默认情况下,标志是cv2.WINDOW_AUTOSIZE。但是如果你指定flag为cv2。WINDOW_NORMAL,
  4. 可以调整窗口大小。当图像尺寸过大时,在窗口中添加跟踪条是很有帮助的
  5. '''
  6. import numpy as np
  7. import cv2
  8.  
  9. # Load an color image in grayscale
  10. img = cv2.imread('lane_line.jpg',0)
  11. # cv2.imshow('image',img)
  12. # cv2.waitKey(0)
  13. # cv2.destroyAllWindows()
  14.  
  15. cv2.namedWindow('image', cv2.WINDOW_NORMAL)
  16. cv2.imshow('image',img)
  17. cv2.waitKey(0)
  18. cv2.destroyAllWindows()

六。用opencv保存一个图像:

使用函数cv2.imwrite()保存图像,First argument is the file name, second argument is the image you want to save.

  1. cv2.imwrite('messigray.png',img)

This will save the image in PNG format in the working directory.

七、一个综合一点的例子:

  1. '''
  2. 下面的程序加载一个灰度图像,显示它,保存图像,如果你按' s '就保存并退出,或干脆退出不保存如果你按ESC键
  3. 警告:如果您使用的是64位机器,则必须修改k = cv2.waitKey(0)为:k = cv2.waitKey(0) & 0xFF
  4. '''
  5. import numpy as np
  6. import cv2
  7.  
  8. img = cv2.imread('lane_line.jpg',0)
  9. cv2.imshow('image',img)
  10. k = cv2.waitKey(0) & 0xFF
  11. if k == 27: # wait for ESC key to exit
  12. cv2.destroyAllWindows()
  13. elif k == ord('s'): # wait for 's' key to save and exit
  14. cv2.imwrite('messigray.png',img)
  15. cv2.destroyAllWindows()

八、用opencv读取图像,用Matplotlib 显示图像:

  1. '''
  2. Matplotlib是一个Python绘图库,它提供了各种各样的绘图方法。
  3. 您将学习如何使用Matplotlib显示图像。你可以使用Matplotlib缩放图像,保存图像等等
  4. OpenCV加载的彩色图像为BGR模式。但是Matplotlib以RGB模式显示。因此,如果使用OpenCV读取图像,
  5. 在Matplotlib中无法正确显示彩色图像。请参阅练习了解更多细节
  6. '''
  7. import numpy as np
  8. import cv2
  9. from matplotlib import pyplot as plt
  10.  
  11. img = cv2.imread('lane_line.jpg',0)
  12. plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
  13. plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
  14. plt.show()

python_opencv库的学习的更多相关文章

  1. GEOS库的学习之一:介绍和编译

    对GEOS库的学习,源于一个项目:要在c++中判断二维平面中两个多边形的关系(无论凹凸).也就是判断两个多边形是否相交.相容等.听起来很简单,可实现起来却比较难,而项目又催得紧.于是我去搜索了一下,看 ...

  2. 标准模板库(STL)学习探究之stack

    标准模板库(STL)学习探究之stack queue priority_queue list map/multimap dequeue string

  3. 标准模板库(STL)学习探究之vector容器

    标准模板库(STL)学习探究之vector容器  C++ Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被 ...

  4. Numpy库的学习(三)

    今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...

  5. go标准库的学习-net/http

    参考:https://studygolang.com/pkgdoc 概念解释: request:用户请求的信息,用来解析用户的请求信息,包括post.get.cookie.url等信息 respons ...

  6. go标准库的学习-database/sql

    参考:https://studygolang.com/pkgdoc 导入方式: import "database/sql" sql包提供了保证SQL或类SQL数据库的泛用接口. 使 ...

  7. go标准库的学习-crypto/md5

    参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/md5" md5包实现了MD5哈希算法,参见RFC 1321. Con ...

  8. go标准库的学习-crypto/sha1

    参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/sha1" sha1包实现了SHA1哈希算法,参见RFC 3174. ...

  9. go标准库的学习-crypto/sha256

    参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/sha256" sha256包实现了SHA224和SHA256哈希算法 ...

随机推荐

  1. java 开发环境安装

    一.在mac上安装jdk 1. 下载Mac版本的JDK并安装      http://www.oracle.com/technetwork/java/javase/downloads/index.ht ...

  2. 用Putty连接Linux

    随着linux应用的普及,linux管理越来越依赖远程管理.在各种telnet类工具中,putty是其中最出色的一个. 一.Putty简介     Putty是一个免费小巧的Win32平台下的teln ...

  3. ordinal parameter mismatch

    © 版权声明:本文为博主原创文章,转载请注明出处 错误描述:Caused by: org.hibernate.HibernateException: ordinal parameter mismatc ...

  4. sed: -e expression #1, unknown option to `s'解决办法

    报错如下: sed: -e expression #1, char 13: unknown option to `s' 需要替换的行为: monitor.url=http://192.168.25.1 ...

  5. Tomcat安装与IDEA中的配置

    下载Tomcat 先从http://tomcat.apache.org/上下载tomcat9,根据你的系统版本来下载. 本地安装 下载之后解压到你的软件安装目录中,这是我的例子: 然后设置环境变量,如 ...

  6. 微信小程序TabBar的使用

    一.TabBar使用步骤 1.创建所需要的界面和所需要的图片: 2.配置文件: 我们找到项目根目录中的配置文件 app.json 加入如下配置信息 "tabBar": { &quo ...

  7. TP框架---thinkphp修改删除数据

    1.在控制器MainController里面写一个方法,调用Nation表中的数据. public function zhuyemian() { $n = D("Nation"); ...

  8. SAM4E单片机之旅——13、LCD之ASF初步

    在Atmel Studio 6中,集成了Atmel Software Framework(ASF框架).通过它提供的库,可以很快速地完成新的项目. 这次的最终目标使用ASF在LCD上显示出文字“Hel ...

  9. 解决因 gtx 显卡而导致的 google chrome 颜色显示不正常。色彩变淡发白,其实很简单

    笔者因为换了用 gtx 1050 显卡替换了原来的集显. 导致chrome浏览器渲染颜色变淡而且泛白. 查了下肯能是因为换了显卡,没换高清显示器. 导致chrome自动启用了 dispaly p3 d ...

  10. MapReduce-PRODUCTION-DEMAND

    [粗暴的HIVE-SQL]select xyz from abc where ty='sdk' and ret_code=0 and data_source_type=1 and dt between ...