opencv图像处理时使用stringstream批量读取图片,处理后并保存
简介:
同文件输入输出流一样,使用stringstream可以批量读取图片,处理后并进行保存。因为C++中头文件 stringstream既可以从string读数据也可向string写数据,利于其这个特点,我们可以进行批量读取和批量保存工作。
参考程序:
/*批量读取图片,进行均值滤波处理,并保存至指定目录下*/
/*学习使用stringstream进行图片的批量读取与保存*/ using namespace std;
using namespace cv;
int main()
{
string imageFileName;
std::stringstream Strm;
int image_count = ;//图片数量
std::cout << "开始均值滤波处理........" << endl;//便于控制台查看
for (int i = ; i!= image_count;i++)
{
std::cout << "第"<<i+<<"张处理成功"<< endl;//便于控制台查看
string filePath = "/home/ttwang/CameraCalibration/chess";//原图保存路径
Strm<< i+;
Strm>>imageFileName;
filePath+=imageFileName;
filePath+=".bmp";
Mat imageSource = imread(filePath);
Mat newimage = imageSource.clone(); blur(imageSource,newimage,Size(,));//均值滤波处理 Strm.clear();
filePath.clear();
string SaveFilePath = "/home/ttwang/CameraCalibration/blur/p";//处理后的图片保存路径
Strm << i+;
Strm >> imageFileName;
SaveFilePath += imageFileName;
SaveFilePath += "_d.jpg";
imwrite(SaveFilePath,newimage);
}
std::cout << "保存结束" << endl;
return ;
}
运行结果:
(1)终端运行:
(2)保存路径【从下图可以看到,处理后的图片保存到了指定路径】
ps:处理效果就不显示了
opencv图像处理时使用stringstream批量读取图片,处理后并保存的更多相关文章
- opencv图像处理时使用文件输入流ifstream批量读取图片
简介: 在利用opencv进行图像处理时,通常需要批量读取图片,然后做相应的处理,我们可以用C++文件的输入流来进行图片的读取,这要求我们应该事先,将图片图片名生成txt文件,具体请参见之前的博文[u ...
- opencv学习之路(3)、批量读取图片、视频分解、视频合成
一.批量有序读取图片 #include<opencv2/opencv.hpp> using namespace cv; void main() { //批量读取图片(有序) ]; ]; M ...
- opencv批量读取图片
#include<opencv2/opencv.hpp>using namespace cv;using namespace std;int main(){ int num=4;// ...
- opencv用imread( argv[1], 1)读取图片
显示一幅图:主要是运用功能:imread namedWindow imshowimread:从字面意思我们就可以看懂,用来读取图片的:namedWindow:显然,我们也可以看到这是用来命名窗口名称的 ...
- uigetfile的用法(批量读取图片)
matlab编程中有时想调入电脑中的某个文件,现找到了一些关于uigetifile用法~~[filename, pathname] = uigetfile( ... {'*.jpg;*.tif; ...
- halcon批量读取图片
以前这个代码都是自己写,不仅繁琐,而且容易忘记.其实Halcon中提供了相关的方法.记录一下吧,其实很简单. 读取一个文件夹下的所有图片[助手]>[打开新的image acquisition ] ...
- Opencv读取图片像素值并保存为txt文件
#include <opencv2/opencv.hpp>#include<vector>#include <fstream> using namespace st ...
- Java从网络批量读取图片并保存至本网站服务器后再插入文章中
先来看效果: 查看一下系统操作日志 删除
- Fitnesse批量读取变量信息,并保存到用例执行上下文中
Fitnesse变量可以分成两种,一种是自定义变量,另一种是用例执行过程中的临时变量. 在Finesse使用过程中,如果需要定义一些公共的变量,可以统一在一个文件中使用自定义变量的方法,将公共变量全部 ...
随机推荐
- css 三角图标
.triangle-right{ display: inline-block; width: 0; height: 0; border-top: 6px solid transparent; bord ...
- Python小白学习之路(十二)—【前向引用】【风湿理论】
前向引用 风湿理论(函数即变量) 理论总是很抽象,我个人理解: 代码从上到下执行,一旦遇到定义的函数体,内存便为其开辟空间,并用该函数的名字作为一个标识但是该函数体内具体是什么内容,这个时候并不着急去 ...
- 页面按钮埋点+跟踪location.search
<a href="javascript: void(0)" onclick="setUrl('https://baoxian.pingan.com/pa18shop ...
- Monkey学习笔记<五>:检查内存泄露
1.分析内存泄漏工具与命令 1)HPROF文件:HPROF可以监控CPU使用率,堆分配统计 2)MAT工具:下载地址(http:www.eclipse.org/mat/) 3)生成HPROF文件命令: ...
- IO概述、异常、File文件类_DAY19
IO概述: 操作数据的工具 IO流,即数据流,数据像水流一样通过IO工具进行传输. 程序 <IO> 硬盘 绝对路径与相对路径 1:异常(理解) (1)就是程序的非正常情况. 异常相关 ...
- 机器大数据也离不开Hadoop
转自:http://gtstorageworld.blog.51cto.com/908359/1286758 根据数据来源划分,大数据主要包括三类:商业运作产生的数据.人类行为产生的数据和机器数据.目 ...
- KMP-字符串模式匹配(c++/python实现)
KMP算法可以在O(n+m)的时间数量级上完成模式匹配,其做法在于:没当一次匹配过程中出现字符比较不等时,不需要回溯指针,而是利用已经得到的“部分匹配”的结果将模式向右“滑动”尽可能远的一段距离后,继 ...
- Spring Security构建Rest服务-0200-搭建项目
一.代码结构: 二.使用Springmvc开发restful API 传统url和rest区别: 三.写代码 1,编写RestfulAPI的测试用例:使用MockMvc伪造mvc package co ...
- js前端日期格式化处理
js前端日期格式化处理 1.项目中时间返回值,很过时候为毫秒值,我们需要转换成 能够看懂的时间的格式: 例如: yyyy-MM-dd HH:mm:ss 2.处理方法(处理方法有多种,可以传值到前端 ...
- 补间动画Tweened Animations
本例子简单讲一下怎么用补间动画 1.在xml中定义好动画的资源文件,如下(注意把不同的效果放在一起可以一起用,同时起效果) <?xml version="1.0" encod ...