以下介绍一下重要的几个,设计基本 图片处理 的函数,依次来了解OpenCV的入门知识。具体的具体使用方法还是以官方的API【Official Tutorials】【Python-OpenCV】为准。


imread

图片读取函数。使用方法例如以下

# read image with color
img = cv2.imread("./lena.jpg") # OR read gray image
imgGray = cv2.imread("./lena.jpg", 0) # convert from BGR to GRAY
imgGray2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  • 第一个就是正常的读入一张图片;
  • 第二个加一个flag值,如flag为0。则表示读入一个灰色的图片。相当于。读入正常带彩色通道的图片后。再转化一下。

imwrite

存取图片函数,使用方法例如以下

cv2.imwrite("gray.jpg", imgGray)

非常easy,直接文件名称,加你要存取的图片即可了。

对了,这里的imgGray类型,因为Python中没有类型声明,所以用了几天还不知道是个啥。特意去试了一下。用Python的交互界面,type(imgGray)会输出为 ‘numpy.ndarray’ 的类型。我个人理解,事实上就是图片的矩阵数组。


显示图片

以下的几个函数结合起来用,能够把一张图片显示出来

title = "gray image"
cv2.namedWindow(title, cv2.WINDOW_NORMAL)
cv2.imshow(title, imgGray)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • namedWindow() 是创建一个窗体。WINDOWS_NORMAL这个參数能够不加,可是加了能够使窗体能够调节大小。
  • imshow() 不用说,显示图片用
  • waitKey() 是让窗体暂停一下,等待用户输入才结束。

    否则会一闪而过。

  • destroyAllWindows() 别忘了销毁全部的窗体

完整样例

以下的代码非常easy。就是读取一张图片,转化成灰度图并存储在本地。然后显示出来。

import cv2  

# read image
img = cv2.imread('./1.jpg') # change it to gray image
imgGray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # write gray image
cv2.imwrite("gray.jpg", imgGray) title = "gray image"
# create a window
cv2.namedWindow(title, cv2.WINDOW_NORMAL) # show the picture in the window
cv2.imshow(title, imgGray) # wait until any input of user
cv2.waitKey(0) # destroy all window
cv2.destroyAllWindows()

最新文章

  1. PYTHON解析XML的多种方式效率对比实测
  2. Scala-Trait:混入与多态
  3. java ClassLoader与动态扩展
  4. 还在用GCD?来看看NSOperation吧
  5. JSP简单介绍
  6. HDU 4793 2013 Changsha Regional Collision[简单的平面几何]
  7. angularjs中的run()方法使用
  8. Springboot 5.Springboot 返回cookies信息的post接口开发
  9. 使用Angular2的Http发送AJAX请求
  10. 转:eclipse maven build、maven install 等区别
  11. activiti explorer5.22.0源代码解读
  12. ASP.NET MVC WebAPI实现文件批量上传
  13. SSH安装篇之——SecureCRT连接(内网和外网)虚拟机中的Linux系统(Ubuntu)
  14. C# XML对象序列化、反序列化
  15. 六种流行的语言大餐---C、C++、python、Java、php、C#你更喜欢哪一个呢?
  16. BZOJ 3098 Hash Killer II
  17. dyld: Library not loaded: @rpath/XCTest.framework/XCTest Referenced from: /private/var/mobile/Conta
  18. session_destroy()和session_unset()的理解
  19. Robust Online Visual Tracking with a Single Convolutional Neural Network
  20. 关于 logger

热门文章

  1. django--基础操作
  2. InnoDB INFORMATION_SCHEMA System Tables
  3. tornado框架基础01-路由简介
  4. pycharm运行没问题,但是在命令行执行就报错
  5. python类中__unicode__和__str__方法的妙用
  6. FZU 1686 dlx重复覆盖
  7. 【同余】HDU 6108 小C的倍数问题
  8. bzoj 1432 [ZJOI2009]Function 思想
  9. Iahub and Permutations(codeforces 314c)
  10. nginx反向代理ajax,解决跨域问题