OpenCV中图像的读取,显示与保存

图像的读取,显示与保存

相关函数:cv2.imread()、cv2.imshow()、cv2.imwrite()

1.读入图像:

用cv2.imread()函数来读取图像,cv2.imread(路径图像颜色空间)(其中颜色空间默认为BGR彩图)

    cv2.IMREAD_COLOR:读入一副彩色图像

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

cv2.IMREAD_UNCHANGED:读入一幅图像,并且包括图像的 alpha 通道

示例代码

import cv2
img = cv2.imread(‘buffer.jpg‘)    #默认为BGR彩图
img = cv2.imread(‘buffer.jpg‘,0)   #以灰度模式加载图像

2.显示图像:

用cv2.imshow()函数在窗口显示图像,窗口大小自适应图像尺寸。函数的第一个参数是一个窗口标题,第二个参数是图像。

1 cv2.imshow(‘image‘,img)
2 cv2.waitKey(0)   #等待任意键按下
3 cv2.destroyAllWindows()    #销毁所有窗口

有一种特殊情况,可以在此创建一个窗口并稍后加载图像。它使用函数cv2.namedWindow(窗口标题,默认参数)完成。

默认情况下,此标志是cv2.WINDOW_AUTOSIZE,窗口大小不可改变。

但如果指定标志为cv2.WINDOW_NORMAL,则可以调整窗口大小。

1 cv2.namedWindow(‘buffer‘, cv2.WINDOW_NORMAL)
2 cv2.imshow(‘buffer‘,img)
3 cv2.waitKey(0)
4 cv2.destroyAllWindows()  #释放窗口

3.写图像:

用cv2.imwrite()函数来保存图像,第一个参数是文件名称,第二个参数是想要保存的图像。

  1 cv2.imwrite(‘buffer.jpg‘,img) #保存图像

4.总结:读取并显示图像

1 import cv2
2 img=cv2.imread(‘buffer.jpg‘)
3 cv2.namedWindow(‘image‘, cv2.WINDOW_NORMAL) #窗口大小可以改变
4 cv2.imshow(‘image‘,img)
5 cv2.waitKey(0)  #如果不加这一句,在IDLE中执行窗口直接无响应
6 cv2.destroyAllWindows() #释放窗口,每次执行完要释放窗口,这是个好习惯

原文地址:https://www.cnblogs.com/Lazycat1206/p/10255690.html

时间: 01-11

OpenCV中图像的读取,显示与保存的相关文章

OpenCV中图像算术操作与逻辑操作

OpenCV中图像算术操作与逻辑操作 在图像处理中有两类最重要的基础操作分别是图像点操作与块操作,简单点说图像点操作就是图像每个像素点的相关逻辑与几何运算.块操作最常见就是基于卷积算子的各种操作.实现各种不同的功能.今天小编就跟大家一起学习OpenCV中图像点操作相关的函数与应用场景.常见算术运算包括加.减.乘.除,逻辑运算包括与.或.非.异或.准备工作: 选择两张大小一致的图像如下.加载成功以后显示如下: 加法操作结果如下: 减法操作结果如下: 乘法操作结果如下: 除法操作结果如下: 权重加法

OpenCV中图像的结构和区别

在OpenCV中,现在有很多种结构类型可以用来表示图像,它们之间有区别又有联系,现在记录一下它们之间的区别和相似之处,以便后面查看. 其中类型有: 1. Iplimage,2. Mat,3.CvMat, 4.CVArr: 其中: 1. IplImage: 较老版本的图像存储类型,在2.0之前使用: 2. CvArr: 也是较老的一种存储结构,是一种抽象的基类. 3. CvMat: 矩阵结构. 4. Mat:  新版本中使用的,推荐使用,是一个图像容器,基本上讲 Mat 是一个类,由两个数据部分组

Opencv中在图片上显示文本

1.cvPutText函数(在图像中加入文本) void cvPutText( CvArr* img, const char* text, CvPoint org, const CvFont* font, CvScalar color );img :输入图像.text :显示字符串. org:第一个字符左下角的坐标. font :字体结构初始化. color :文本的字体颜色.函数 cvPutText 将具有指定字体的和指定颜色的文本加载到图像中.加载到图像中的文本被感兴趣的矩形框圈定.    

Emgu学习之(二)——图像读取、显示、保存

visual Studio Community 2015 工程和源代码:http://pan.baidu.com/s/1o6u5Fdw 内容 在这篇文章中将提到以下内容: 从文件中读取图像 Image类 显示图像 保存图像 在上一篇文章Emgu学习之(一)——Emgu介绍中,我介绍了如何创建Emgu的工程,但是上一个Demo使用的是OpenCV的HighGUI窗体显示图像,这一 次我们要用WinForm窗体显示图像,并将图像进行操作后另存为新的图像文件.首先我们要做的是在Visual studi

OpenCV(C++接口)学习笔记1-图像的读取、显示、保存

OpenCV在2.0版本之后添加了C++接口函数,之前学习的都是C语言的接口函数,现在OpenCV已经发展到2.4.9版本了,所以决定学习C++接口函数,跟上节奏. 1.创建图像 cv::Mat image; 采用类cv::Mat来定义图像变量或矩阵变量. 当然你也可以指定图像的大小: cv::Mat img(240,320,CV_8U,cv::Scalar(100)); 参数CV_8U中的U代表unsigned,而S代表signed.对于三通道彩色图像可以用CV_8UC3.你也可以声明16或3

opencv中的meanshift图像切割

Meanshift(均值漂移)是一种在一组数据的密度分布中寻找局部极值的稳定的方法.Meanshift不仅能够用于图像滤波,视频跟踪,还能够用于图像切割. 通过给出一组多维数据点,其维数是(x,y,r,g,b),均值漂移能够用一个窗体扫描空间来找到数据密度最大的区域,能够理解为数据分布最集中的区域. 在这里须要注意,因为空间位置(也就是上面的x和y)的变化范围与颜色的变化范围(上面的r,g,b)有极大的不同,所以,meanshift对这两个维数要採用不同的窗体半径.在opencv自带的means

spark中数据的读取与保存

1.文本文件 (1)读取文本文件 JavaRDD<String> input =sc.textFile(dir) (2)保存文本文件 result.saveAsTextFile(dir); 2.Json (1)gson ①Gson中需要创建JavaBean实体类来说明json的格式. 以下是javaBean的示例程序,Person,其中有两个字段,分别代表姓名和年龄. public class Person { private String name; private int age; pub

利用FreeImage将gif图像转为opencv中的Mat

网上有将gif转为iplimg的版本,只是用惯了C++的接口,所以就写了个转Mat的版本,代码比较简单 一.读文件 1 int MatFun::gif2Mat(char* data, size_t dataSize, vector<Mat>& gifImgs, Mat& singleImg) 2 { 3 /* initialise 4 ->open memory 5 ->getImageType 6 ->load bitmaps 7 ->bitmaps

(转)opencv中image watch插件安装使用教程

原文地址:http://blog.csdn.net/u013088062/article/details/42710819 Image Watch(下载)是OpenCV的一款最新工具,它能够即时显示出矩阵的内容,即memory中Mat的信息,方便程序的调试,非常好用.不过目前该插件只支持VS2012,而且不能保存调试信息. 下载地址:点击打开链接 安装方法: 1 从以上网址下载插件,下载后得到一个ImageWatch.vsix. 2.打开VS2012安装目录,VS2012/COMMOM7/IDE

使用OpenCL+OpenCV实现图像旋转(一)

[题外话]近期申请了一个微信公众号:平凡程式人生.有兴趣的朋友可以关注,那里将会涉及更多更新OpenCL+OpenCV以及图像处理方面的文章. 最近在学习<OPENCL异构计算>,其中有一个实例是使用OpenCL实现图像旋转.这个实例中并没有涉及读取.保存.显示图像等操作,其中也存在一些小bug.在学习OpenCL之初,完整地实现这个实例还是很有意义的事情. 1.图像旋转原理 所谓图像旋转是指图像以某一点为中心旋转一定的角度,形成一幅新的图像的过程.这个点通常就是图像的中心. 由于是按照中心旋