OpenCV入门笔记(二) 图片的文件操作
来源:互联网 发布:js window.open 居中 编辑:程序博客网 时间:2024/05/22 08:21
下面介绍一下重要的几个,设计基本 图片处理 的函数,依次来了解OpenCV的入门知识。具体的详细用法还是以官方的API【Official Tutorials】【Python-OpenCV】为准。
imread
图片读取函数,用法如下
# read image with colorimg = cv2.imread("./lena.jpg")# OR read gray imageimgGray = cv2.imread("./lena.jpg", 0) # convert from BGR to GRAYimgGray2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
- 第一个就是正常的读入一张图片;
- 第二个加一个flag值,如flag为0,则表示读入一个灰色的图片。相当于,读入正常带彩色通道的图片后,再转化一下。
imwrite
存取图片函数,用法如下
cv2.imwrite("gray.jpg", imgGray)
很简单,直接文件名,加你要存取的图片就行了。
对了,这里的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() 别忘了销毁所有的窗口
完整例子
下面的代码很简单,就是读取一张图片,转化成灰度图并存储在本地,然后显示出来。
import cv2 # read imageimg = cv2.imread('./1.jpg') # change it to gray imageimgGray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # write gray imagecv2.imwrite("gray.jpg", imgGray)title = "gray image"# create a windowcv2.namedWindow(title, cv2.WINDOW_NORMAL)# show the picture in the windowcv2.imshow(title, imgGray) # wait until any input of usercv2.waitKey(0)# destroy all windowcv2.destroyAllWindows()
0 0
- OpenCV入门笔记(二) 图片的文件操作
- OpenCV入门笔记(二)
- opencv学习笔记(二)-对xml和yaml文件的读写操作
- OpenCV入门笔记(三) 图片处理
- opencv入门笔记之二 操作图像像素点
- 我的OpenCV学习笔记(二):操作每个像素
- OpenCV 学习笔记 ----图像的基本操作(二)
- opencv学习笔记(二十六)直方图有关的操作
- openCV学习笔记(二)---openCV系列基本操作
- openCV学习笔记(二)---openCV系列基本操作(2)
- iMOOC学习笔记:Java的Excel读写操作入门实践-利用JXL解析Excel文件(二)
- iMOOC学习笔记:Java的Excel读写操作入门实践-利用POI解析Excel文件(二)
- python opencv入门(学习笔记no.1)-图片的读入读出
- OPENCV笔记(二)打开文件夹读取图片
- opencv学习笔记(二)vs2010+opencv2.3.1 mfc的实现---利用图片控件显示
- opencv学习笔记(二十七)实例:显示一张灰度图片的直方图
- OpenCV学习笔记__入门篇(二)
- Linux下C编程入门笔记——文件IO操作(二)
- Web Components是不是Web的未来
- php获取html上传图片并保存至本地服务器
- perl 判断网站内容是否变更
- Nginx 四种分配方式——session处理
- 在linux系统环境下搭建网络服务器(二)
- OpenCV入门笔记(二) 图片的文件操作
- Codeforces 560C Gerald's Hexagon(几何)
- 计算机存储单位:bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB
- 让HttpClient不要打印巨多的日志
- TaskQueS.c---分配工作并以WaitForSingleObject()等待之
- 2 event source & inner class DEMO(quote from Head First Java 2e)
- 聚类分析-K均值matlab(一)
- android屏幕适配
- linux 动态链接库