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对象表示图 ...
随机推荐
- React 从入门到进阶之路(八)
之前的文章我们介绍了 React中的组件.父子组件.React props父组件给子组件传值.子组件给父组件传值.父组件中通过refs获取子组件属性和方法.接下来我们将介绍 React propTyp ...
- codeforces 632C
题意: 给n个字符串,然后将这些字符串组合,搞成一个最小字典序的字符串,然后输出就好了. 思路: 记得以前神队友给我说过你怎么将n个字符串按字典序的比较从小到大输出.那么我也是这样玩一下,然后组合输出 ...
- python 元类 type metaclass
python中一切皆对象,类对象创建实例对象,元类创建类对象,元类创建元类. 元类创建类对象有2中方式: 一.type方法 type(类名, 由父类名称组成的元组(针对继承的情况,可以为空),包含属性 ...
- bzoj 3109: [cqoi2013]新数独【dfs】
按3x3的小块dfs,填数的时候直接满足所有条件即可 #include<iostream> #include<cstdio> #include<cstring> u ...
- bzoj 1396: 识别子串 && bzoj 2865: 字符串识别【后缀数组+线段树】
根据height数组的定义,和当前后缀串i最长的相同串的长度就是max(height[i],height[i+1]),这个后缀贡献的最短不同串长度就是len=max(height[i],height[ ...
- thinkphp5升级版开源框架tpframe v2.1发布
免费开源框架tpframe是一款以thinkphp5为驱动,在此基础上进行进一步的完善与改进的框架,保持了ThinkPHP5原有的所有特性,优化核心,减少依赖,为个人或企业建站提供高效.快速解决的方案 ...
- JSP九大内置对象的作用和用法总结【转】
JSP九大内置对象的作用和用法总结? JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.c ...
- Git之删除分支
目录 删除本地分支 删除远程分支 删除本地分支: git branch -d dev [git branch -参数 本地分支名称] 删除远程分支: git push origin --delete ...
- 04.Java多线程并发库API使用3
1.java5的Semaphere同步工具 Semaphore可以维护当前访问自身的线程个数,并提供了同步机制.使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数 ...
- es6语法错误
哇,今天折腾了好久解决了一个问题,记录一下. 错误: 解决方法:配置babel,将es6语法转换成es5语法 1. 全局安装babel: npm install babel-cli -g 2. 本地安 ...