OpenCV2:第三章 读取图像
---恢复内容开始---
一.简介
将图像文件读入内存,可以用cv::imread()函数
二.读取图像
Mat imread(const string& filename,int flags=1);
- Mat:
如果读取图像失败,返回一个空矩阵(NULL)
- filename:
windows位图文件:BMP,DIB
JPEG文件:JPEG,JPG,JPE
便携式网络图片:PNG
便携式图像格式:PBM,PGM,PPM
Sun rasters:SR,RAS
TIFF文件:TIFF,TIF
OpenEXR HDR图片:EXR
JPEG 2000图片:jp2
- flag:
flag>0,返回3通道图像
flag=0,返回单通道图像
flag<0,不对图像进行通道转换
三.示例
Mat im=imread("1.jpg",0);
---恢复内容结束---
一.简介
将图像文件读入内存,可以用cv::imread()函数
二.读取图像
Mat imread(const string& filename,int flags=1);
- Mat:
如果读取图像失败,返回一个空矩阵(NULL)
- filename:
windows位图文件:BMP,DIB
JPEG文件:JPEG,JPG,JPE
便携式网络图片:PNG
便携式图像格式:PBM,PGM,PPM
Sun rasters:SR,RAS
TIFF文件:TIFF,TIF
OpenEXR HDR图片:EXR
JPEG 2000图片:jp2
- flag:
flag>0,返回3通道图像
flag=0,返回单通道图像
flag<0,不对图像进行通道转换
Mat im=imread("1.jpg",0);
三.批量读取图像
1.有序
#include <iostream>
#include <stdio.h>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp> using namespace cv;
using namespace std; int main()
{ // 定义相关参数
const int num = 100;
char fileName[50];
char windowName[50];
cv::Mat srcImage;
for (int i = 1; i <= 2
; i++)
{
// sprintf读入指定路径下的图片序列
sprintf(fileName, "%d.jpg", i); // 按照图像文件名读取
srcImage = cv::imread(fileName);
if (!srcImage.data)
{
std::cout << "No data!" << std::endl;
return -1;
}
cv::namedWindow(fileName);
cv::imshow(fileName,srcImage);
} cv::waitKey(0);
return 0;
}
OpenCV2:第三章 读取图像的更多相关文章
- OpenCV2:第五章 访问图像
一.行/列访问 1.单行/单列访问 Mat Mat::row(int i) const Mat Mat::col(int j) const 2.多行/多列访问 Range(start,end); Ra ...
- OpenCV2:第四章 导出图像
一.简介 一般我们用OpenCV来处理图像数据的时候,OpenCV已经把图像数据包装成一个图像数据类,我们只需要对类成员的像素值进行修改就行了. 但是在Windows开发的WinSDK/MFC中,对图 ...
- GDAL库三个读取Jpeg2000格式驱动测试
0.目的 GDAL库中提供了四五种读取Jpeg2000的驱动,但是各个驱动读取数据的效率各不相同,下面就针对三种读取jpeg2000的效率进行测试. GDAL库中提供的读取Jpeg2000的驱动有下面 ...
- OpenCV2学习笔记04:图像的读取与显示
1. 图像读取:imread() Mat imread( ) 参数介绍: filename: 待加载的文件名称. flags: 此标志用来指定被加载图像的颜色类型(color type).这个标志的取 ...
- 第三章——供机器读取的数据(CSV与JSON)
本书使用的文件.代码:https://github.com/huangtao36/data_wrangling 机器可读(machine readable)文件格式: 1.逗号分隔值(Comma-Se ...
- OpenCV2:第二章 创建图像并显示
一.简介 相当于在PS中,新建一个画布 二.CvMat类/LPLImage和CvMat结构体 参考: OpenCV2:第一章 图像表示 三.create() Mat m(2,2,CV_8UC3); m ...
- TensorFlow中读取图像数据的三种方式
本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...
- 第三章——供机器读取的数据(XML)
本书使用的文件.代码:https://github.com/huangtao36/data_wrangling 机器可读(machine readable)文件格式: 1.逗号分隔值(Comma-Se ...
- 跟我一起学opencv 第三课之图像在opencv中的表示-Mat对象
1.下面第一章图是一位美女图像,和其他数据一样图像在计算机中也是以二进制存储,下面第二张图 2.在摄像头眼里一幅图像就是一个矩阵或者说是二维数组,数组元素是像素值 3.opencv中以Mat对象表示图 ...
随机推荐
- python的time模块使用
在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. 在开始之前,首先要说明这几点: ...
- View Controller Programming Guide for iOS---(二)---View Controller Basics
View Controller Basics Apps running on iOS–based devices have a limited amount of screen space for d ...
- [工具]kali-linux-2016.2 更新后
使用官方的,会自动选择最近的服务器/etc/apt/sources.list # 就这一句就好了,不用添加一堆 deb http://http.kali.org/kali kali-rolling m ...
- UVaLive 6588 && Gym 100299I (贪心+构造)
题意:给定一个序列,让你经过不超过9的6次方次操作,变成一个有序的,操作只有在一个连续区间,交换前一半和后一半. 析:这是一个构造题,我们可以对第 i 个位置找 i 在哪,假设 i 在pos 位置, ...
- POJ3258【二分】
题意: 问一个河岸,两岸之间有笔直的n块石头,然后拔起(也可以施展魔法)m个石块,假设两岸也是石块,求处理过的石块的最小距离的最大. 思路: 他让我们求移开m个石块,无非是在n+2-m(已经把两岸看成 ...
- 问题 3: 糖果数(candy)
问题 3: 糖果数(candy) 题目描述 学校准备去春游,委托小明分发糖果,每位同学一袋,数量随机. 一共有N袋糖果,编号为1到N,小明拿了从编号a袋到编号b袋的糖果去分发,小明想知道,他一共拿了多 ...
- HTTP请求头中的那些东西
一.HTTP请求头是什么? HTTP请求头,HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST).如有必要,客户程序还可以选择发送其他的请求头. 二.HT ...
- Python 基础知识(5)
1:引用 当我们把一个变量给另一个变量赋值的时候,不是把A变量中的值给B一份,而是把A变量中的地址给了B,这就是引用.任何牵扯到等号赋值的地方,统统都是引用. a = 100 b = a id(a) ...
- pika消息中间件模块
参考: http://www.rabbitmq.com/tutorials/tutorial-one-python.html http://www.rabbitmq.com/tutorials/tut ...
- (028)[技术资料]et99加密狗打开函数的一个小bug
et99加密狗的打开函数,其官方vb调用申明如下:Declare Function et_OpenToken Lib "FT_ET99_API.dll" (ByRef et99ha ...