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

时间: 2024-11-08 04:26:35

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

opnecv笔记(1)图像载入、显示、保存、变灰度图

图像载入.显示.保存函数: 1         图像载入函数:imread()   Mat imread(const string& filename, int flags=1); const string&类型的filename为载入图像的路径(绝对路径和相对路径) flags是int类型的变量,flags>0,返回一个3通道的彩色图像: flags = 0,返回灰度图像: flags < 0,返回包含Alpha通道的加载图像. flags默认值为1,可以省略对其赋值. 例如

Opencv中图像的遍历与像素操作

Opencv中图像的遍历与像素操作 OpenCV中表示图像的数据结构是cv::Mat,Mat对象本质上是一个由数值组成的矩阵.矩阵的每一个元素代表一个像素,对于灰度图像,像素是由8位无符号数来表示(0代表黑,255代表白):对于彩色图像,每个像素是一个三元向量,即由三个8位无符号数来表示三个颜色通道(Opencv中顺次为蓝.绿.红). 我们先来介绍下cv::Mat类的获取像素的成员函数at(),其函数原型如下: template<typename _Tp> _Tp& at(int i0

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:图像的读取,显示,写入文件

#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, char** argv) { // 图像内存对象,在C++中是以Mat对象形式保存的 Mat img = imread("f:/temp/images/lena.jpg"); /* imread的默认选项:IMREAD_COLOR,默认会将图像加

openCV—Python(2)—— 载入、显示和保存图像

一.函数简单介绍 1.imread-读取图像 函数原型:imread(filename, flags=None) filename:读取的图像路径名:比如:"H:\img\lena.jpg". flags:彩色图or灰色图,1:表示彩色图.0:表示灰色图. 2.imshow-显示图像 函数原型:imshow(winname, mat) winname:窗体名字.比如:"Lena". mat:要显示的图像矩阵. 3.imwrite-保存图像 函数原型:imwrite(

OpenCV基础篇之读取显示图片

程序及分析 /* * FileName : read.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 13 May 2014 07:34:25 PM CST * Brief : * * Copyright (C) MICL,USTB */ #include <cv.h> #include <highgui.h> using namespace cv; using namespace std; in

[OpenCV-Python] OpenCV 中图像特征提取与描述 部分 V (一)

部分 V图像特征提取与描述 29 理解图像特征 目标本节我会试着帮你理解什么是图像特征,为什么图像特征很重要,为什么角点很重要等.29.1 解释 我相信你们大多数人都玩过拼图游戏吧.首先你们拿到一张图片的一堆碎片,要做的就是把这些碎片以正确的方式排列起来从而重建这幅图像.问题是,你怎样做到的呢?如果把你做游戏的原理写成计算机程序,那计算机就也会玩拼图游戏了.如果计算机可以玩拼图,我们就可以给计算机一大堆自然图片,然后就可以让计算机把它拼成一张大图了.如果计算机可以自动拼接自然图片,那我们是不是可

[OpenCV-Python] OpenCV 中图像特征提取与描述 部分 V (二)

部分 V图像特征提取与描述 34 角点检测的 FAST 算法 目标 ? 理解 FAST 算法的基础 ? 使用 OpenCV 中的 FAST 算法相关函数进行角点检测原理 我们前面学习了几个特征检测器,它们大多数效果都很好.但是从实时处理的角度来看,这些算法都不够快.一个最好例子就是 SLAM(同步定位与地图构建),移动机器人,它们的计算资源非常有限.为了解决这个问题,Edward_Rosten 和 Tom_Drummond 在 2006 年提出里 FAST 算法.我们下面将会对此算法进行一个简单