python_opencv库的学习
一、以灰度图的形式加载彩色图像。
https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_image_display/py_image_display.html
import numpy as np
import cv2 # Load an color image in grayscale
img = cv2.imread('lane_line.jpg',0)
cv2.imshow("image", img)
cv2.waitKey(0)
警告:即便路径错误,也不会抛出错误,只会返回None。
二、显示一个图像。
'''
图像显示函数:cv2.imshow('image',img)
第一个参数是一个窗口名,它是一个字符串。第二个参数是我们的图像。您可以创建任意数量的窗口,但是使用不同的窗口名称。
'''
import numpy as np
import cv2 # Load an color image in grayscale
img = cv2.imread('lane_line.jpg',0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
三、waitKey()函数:
waitkey()是一个键盘绑定函数。它的参数是以毫秒为单位的时间。该函数等待任何键盘事件的指定毫秒。如果在这段时间内按任意键,程序将继续。如果传递0,它将无限期地等待击键。它还可以设置检测特定的击键,如,如果按下键a等。
四、destroy allwindows()函数:
destroy allwindows()只会销毁我们创建的所有窗口。如果您希望销毁任何特定的窗口,请使用函数cv2.destroyWindow(),在该函数中,您将传递确切的窗口名作为参数
五、图像窗口可调:
'''
注意,有一种特殊的情况,您可以在稍后创建窗口并将图像加载到其中。在这种情况下,您可以指定窗口是否可调整大小。
这是通过函数cv2.namedWindow()完成的。默认情况下,标志是cv2.WINDOW_AUTOSIZE。但是如果你指定flag为cv2。WINDOW_NORMAL,
可以调整窗口大小。当图像尺寸过大时,在窗口中添加跟踪条是很有帮助的
'''
import numpy as np
import cv2 # Load an color image in grayscale
img = cv2.imread('lane_line.jpg',0)
# cv2.imshow('image',img)
# cv2.waitKey(0)
# cv2.destroyAllWindows() cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
六。用opencv保存一个图像:
使用函数cv2.imwrite()保存图像,First argument is the file name, second argument is the image you want to save.
cv2.imwrite('messigray.png',img)
This will save the image in PNG format in the working directory.
七、一个综合一点的例子:
'''
下面的程序加载一个灰度图像,显示它,保存图像,如果你按' s '就保存并退出,或干脆退出不保存如果你按ESC键
警告:如果您使用的是64位机器,则必须修改k = cv2.waitKey(0)为:k = cv2.waitKey(0) & 0xFF
'''
import numpy as np
import cv2 img = cv2.imread('lane_line.jpg',0)
cv2.imshow('image',img)
k = cv2.waitKey(0) & 0xFF
if k == 27: # wait for ESC key to exit
cv2.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit
cv2.imwrite('messigray.png',img)
cv2.destroyAllWindows()
八、用opencv读取图像,用Matplotlib 显示图像:
'''
Matplotlib是一个Python绘图库,它提供了各种各样的绘图方法。
您将学习如何使用Matplotlib显示图像。你可以使用Matplotlib缩放图像,保存图像等等
OpenCV加载的彩色图像为BGR模式。但是Matplotlib以RGB模式显示。因此,如果使用OpenCV读取图像,
在Matplotlib中无法正确显示彩色图像。请参阅练习了解更多细节
'''
import numpy as np
import cv2
from matplotlib import pyplot as plt img = cv2.imread('lane_line.jpg',0)
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
plt.show()
python_opencv库的学习的更多相关文章
- GEOS库的学习之一:介绍和编译
对GEOS库的学习,源于一个项目:要在c++中判断二维平面中两个多边形的关系(无论凹凸).也就是判断两个多边形是否相交.相容等.听起来很简单,可实现起来却比较难,而项目又催得紧.于是我去搜索了一下,看 ...
- 标准模板库(STL)学习探究之stack
标准模板库(STL)学习探究之stack queue priority_queue list map/multimap dequeue string
- 标准模板库(STL)学习探究之vector容器
标准模板库(STL)学习探究之vector容器 C++ Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被 ...
- Numpy库的学习(三)
今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...
- go标准库的学习-net/http
参考:https://studygolang.com/pkgdoc 概念解释: request:用户请求的信息,用来解析用户的请求信息,包括post.get.cookie.url等信息 respons ...
- go标准库的学习-database/sql
参考:https://studygolang.com/pkgdoc 导入方式: import "database/sql" sql包提供了保证SQL或类SQL数据库的泛用接口. 使 ...
- go标准库的学习-crypto/md5
参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/md5" md5包实现了MD5哈希算法,参见RFC 1321. Con ...
- go标准库的学习-crypto/sha1
参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/sha1" sha1包实现了SHA1哈希算法,参见RFC 3174. ...
- go标准库的学习-crypto/sha256
参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/sha256" sha256包实现了SHA224和SHA256哈希算法 ...
随机推荐
- CF - 420B - Online Meeting(思维)
题意:n 个人參加线上会议.某经理记录了中间一段时间的 m 条上下线记录(1 ≤ n, m ≤ 105).+ 表示上线,- 表示下线. leader是指仅仅要有人在线,他都在线的人.求全部可能的lea ...
- Jackson.jar的使用记录
Jackson.jar的使用记录 之前一直使用json-lib.jar,近期发现网上说这个jackson.jar比較好 package com.spring.controller; import ja ...
- docker创建私有仓库及存储image
Docker官方的Docker hub尽管提供了有非常多image,也基本上包括了我们须要使用的,可是其訪问起来比較慢.假设自己要定制image.多台server之间的共享使用此image非常不方便. ...
- 转:RC复位电路的原理及其复位时间的计算
RC复位电路的原理及其复位时间的计算 低电平有效复位电路如下 此复位电路是针对低电平有效复位而言的,其中二极管是起着在断电的情况下能够很快的将电容两端的电压释放掉,为下次上电复位准备. 假设电容两 ...
- 安装CoreOS到磁盘
1 打开翻&&墙软件 2 打开迅雷,启用“使用IE代理”,下载以下两个文件:(翻&&墙后用IE下会中断) http://stable.release.core-os.n ...
- Spring Cloud(十三):Spring Cloud Sleuth服务链路追踪(zipkin)(转)
这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件. 一.简介 Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案, ...
- java sqlite配置和自定义函数
资源 jetty Jetty Downloads地址 sqlite sqlite JDBC Driver 地址:bitbucket代码托管 和 Github代码托管 jetty配置sqlite 在je ...
- 【Linux】OpenWRT的无线设置注意事项——从2.4G到5G,hwmode不简单
硬件说明: 操作系统:OpenWRT 网卡:AR9220R52Hn 网卡驱动:ath9k OpenWRT在刷机完成之后,并不会自动开启无线功能,需要手动修改配置文件,然后重启网络服务.管理无线功能的配 ...
- PHP服务端如何通过程序将图上传到指定的图片服务器与图片服务器的优化方案
一:PHP服务端如何通过程序将图上传到指定的图片服务器与图片服务器的优化方案 (1) php服务器把图片处理成缩率图或指定大小的图片在通过PHP程序代码 操作FTP 上传到图片服务器. 二:图片服务器 ...
- UVA 10428 - The Roots(牛顿迭代法)
UVA 10428 - The Roots option=com_onlinejudge&Itemid=8&page=show_problem&category=494& ...