zoukankan      html  css  js  c++  java
  • opencv图像处理时使用stringstream批量读取图片,处理后并保存

    简介:

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

    参考程序:

    /*批量读取图片,进行均值滤波处理,并保存至指定目录下*/
    /*学习使用stringstream进行图片的批量读取与保存*/
    
    using namespace std;
    using namespace cv;
    int main()
    {
      string imageFileName;
      std::stringstream Strm;
      int image_count = 14;//图片数量
      std::cout << "开始均值滤波处理........" << endl;//便于控制台查看
      for (int i = 0; i!= image_count;i++)
      {
         std::cout << ""<<i+1<<"张处理成功"<< endl;//便于控制台查看
         string filePath = "/home/ttwang/CameraCalibration/chess";//原图保存路径
         Strm<< i+1;
         Strm>>imageFileName;
         filePath+=imageFileName;
         filePath+=".bmp";
         Mat imageSource = imread(filePath);
         Mat newimage = imageSource.clone();
    
         blur(imageSource,newimage,Size(7,7));//均值滤波处理
    
         Strm.clear();
         filePath.clear();
         string SaveFilePath = "/home/ttwang/CameraCalibration/blur/p";//处理后的图片保存路径
         Strm << i+1;
         Strm >> imageFileName;
         SaveFilePath += imageFileName;
         SaveFilePath += "_d.jpg";
         imwrite(SaveFilePath,newimage);
       }
       std::cout << "保存结束" << endl;
       return 0;
    }

    运行结果:

    (1)终端运行:

    (2)保存路径【从下图可以看到,处理后的图片保存到了指定路径】

    ps:处理效果就不显示了

  • 相关阅读:
    QT启动画面不显示
    指针运算,终于明白了
    sourceforge 优秀 开源 项目 介绍
    ios验证邮箱格式
    获取手机当前经纬度的方法
    将UIImageView改成圆角和圆形
    Extensible Messaging and Presence Protocol (XMPP) 的实现
    导入libxml2.dylib时出问题
    Extensible Messaging and Presence Protocol (XMPP) 简介
    XMPPFramework 常用api包简介
  • 原文地址:https://www.cnblogs.com/ilym/p/8339935.html
Copyright © 2011-2022 走看看