简介:

在利用opencv进行图像处理时,通常需要批量读取图片,然后做相应的处理,我们可以用C++文件的输入流来进行图片的读取,这要求我们应该事先,将图片图片名生成txt文件,具体请参见之前的博文【ubuntu中获取文件名称并生成txt文件】。

例程:

实现功能,批量读取指定目录下的图片,为了检验是否成功,显示第一张图片的长和宽。

#pragma GCC diagnostic error "-std=c++11"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <fstream> //使用ifstream,需要增加头文件fstream
#include <iostream>
#include <string> using namespace std;
using namespace cv; int main()
{
ifstream fin("/home/ttwang/images/calibdata.txt");//读取指定目录下实现生成的txt文件
int image_count = ;
Size image_size; //opencv中图片尺寸定义,成员有width和height
string filename;
while(getline(fin,filename)) //使用getline函数,用法参见 c++ primer P79 3.2.2节
{
image_count++;
cout << "processing: " << filename << endl; //打印读取结果,直观看文件是否读取成功
filename = "/home/ttwang/images/"+filename;//图片路径
Mat imageInput = imread(filename);//读图片
if(image_count == ) //打印第一幅图片的长和宽
{
image_size.width = imageInput.cols;
image_size.height = imageInput.rows;
cout << "image_size.width = " << image_size.width << endl;
cout << "image_size.height = " << image_size.height << endl;
}
}
return ;
}

运行结果:

opencv图像处理时使用文件输入流ifstream批量读取图片的更多相关文章

  1. opencv学习之路(3)、批量读取图片、视频分解、视频合成

    一.批量有序读取图片 #include<opencv2/opencv.hpp> using namespace cv; void main() { //批量读取图片(有序) ]; ]; M ...

  2. opencv图像处理时使用stringstream批量读取图片,处理后并保存

    简介: 同文件输入输出流一样,使用stringstream可以批量读取图片,处理后并进行保存.因为C++中头文件 stringstream既可以从string读数据也可向string写数据,利于其这个 ...

  3. opencv批量读取图片

    #include<opencv2/opencv.hpp>using namespace cv;using namespace std;int main(){    int num=4;// ...

  4. Opencv与Qt (一)之运行测试读取图片

    刚刚在vs上装好了QT和Opencv,试一下效果把. 我简单的创建了一个label,然后使用Opencv导入图像,因为Opencv导入图像是MAT格式的,在使用Qt的时候我们要把导入的图像转换成Qim ...

  5. python3_learn 实现文件夹内批量对图片重命名

    初衷 练习Python,提高动手能力. 珍藏的壁纸文件夹名命有点乱. 可以学习下一些基础的库 开始(.jpg,无筛选) First 首先找到OS库,寻找可以遍历文件名的.找到了OS.walk() os ...

  6. uigetfile的用法(批量读取图片)

    matlab编程中有时想调入电脑中的某个文件,现找到了一些关于uigetifile用法~~[filename, pathname] = uigetfile( ...    {'*.jpg;*.tif; ...

  7. halcon批量读取图片

    以前这个代码都是自己写,不仅繁琐,而且容易忘记.其实Halcon中提供了相关的方法.记录一下吧,其实很简单. 读取一个文件夹下的所有图片[助手]>[打开新的image acquisition ] ...

  8. Java从网络批量读取图片并保存至本网站服务器后再插入文章中

    先来看效果: 查看一下系统操作日志 删除

  9. Python+OpenCV图像处理(一)——读取显示一张图片

    先在此处先声明,后面学习python+opencv图像处理时均参考这位博主的博文https://blog.csdn.net/u011321546/article/category/7495016/2? ...

随机推荐

  1. Python小白学习之路(四)——第一次练习题

    写在前面: 今天下雪了呢!连着两天都没有更新学习记录. 我没有偷懒呢.做了一天的练习题,昨天学的内容还没总结完,太累了就回去睡觉了 连续一周早起,强大的内心也无法支撑我疲惫的身体 今天早起做了整理.加 ...

  2. P1494 小Z的袜子

    P1494 小Z的袜子 莫队板子题,对询问进行排序+分块,从而得到巧妙的复杂度 对于L,R的询问. 设其中颜色为x,y,z的袜子的个数为a,b,c... 那么答案即为 (a*(a-1)/2+b*(b- ...

  3. UIScrollView之isTracking delaysContentTouches canCancelContentTouches

    UIScrollView有一个BOOL类型的tracking属性,用来返回用户是否已经触及内容并打算开始滚动,我们从这个属性开始探究UIScrollView的工作原理: 当手指触摸到UIScrollV ...

  4. 添加新内容的四个 jQuery 方法:append,prepend,after,before

    添加新内容的四个 jQuery 方法区别如下: append() - 在被选元素(里面)的结尾插入内容prepend() - 在被选元素(里面)的开头插入内容 //jQuery append() 方法 ...

  5. 使用openssh-clients的scp命令来传输文件

    了解openssh-client是请参阅:https://blog.csdn.net/u010215256/article/details/53239905 了解scp命令来传输文件请参阅:https ...

  6. MyEclipse:详细使用教程

    http://www.56.com/u18/v_MTQwNzY1MTU5.html?fromvsogou=1

  7. 正则中str.match(pattern)与pattern.exec(str)的区别

    这两个函数除了调用对象以及参数不同之外,<javascript高级程序设计>中对exec描述比较详细,对match只是说返回数组跟exec一样.书中并没有说只说了正则在非全局模式下的情况, ...

  8. 小程序api-01-abcdefg

    目录-abcdefg   wx.scanCode(OBJECT) 调起客户端扫码界面,扫码成功后返回对应的结果 wx.scanCode({ success: (res) => { console ...

  9. EditText格式化11位手机号输入xxx xxxx xxxx

    EditText格式化11位手机号输入xxx xxxx xxxx  /**     * 格式化11位手机号码输入 xxx xxxx xxxx格式     * 如果一直是添加:输入到第三个或第8个数字时 ...

  10. java的break,另一种用法(多层循环嵌套)

    break的另一种用法: 1.跳出外循环 outer:for(int j=0;i<4;j++){//outer随便定义的一个标签 for(int i=0;i<10;i++){ if(i== ...