微信公众号:码出名企路—图像处理技巧

1 批量图片重新命名

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <fstream>using namespace std;
using namespace cv;int main()
{cv::String path="/home/lyy/from_0_to_1_for_slam/homework_1/data/";//待处理图片路径cv::String dest="/home/lyy/from_0_to_1_for_slam/homework_1/dst/";//保存处理后的图片路径cv::String savefilename;vector<cv::String> filenames;Mat srcImg,dstImg;cv::glob(path,filenames);//glob 寻找与模式匹配的文件路径for(int i=0;i<filenames.size();++i){srcImg=cv::imread(filenames[i]);srcImg.copyTo(dstImg);if(i<10){savefilename=dest+"000"+to_string(i)+".png";cv::imwrite(savefilename,dstImg);}if(i>=10&&i<99){savefilename=dest+"00"+to_string(i)+".png";cv::imwrite(savefilename,dstImg);}if(i>=100&&i<999){savefilename=dest+"0"+to_string(i)+".png";cv::imwrite(savefilename,dstImg);}if(i>=1000&&i<9999){savefilename=dest+to_string(i)+".png";cv::imwrite(savefilename,dstImg);}}return 0;}

2. 查找文件中批量数据

#include <fstream>
#include <iostream>
#include <vector>
#include <sstream>using namespace std;vector<pair<int,string>> data;void read_txt(string input_file)
{ifstream file_open;file_open.open(input_file.c_str());if(!file_open.is_open()){cout<<"cannot open file"<<endl;exit(1);}std::string file_line;int num;int people;string city;string note;bool not_first_line=false;bool first_line=true;while(std::getline(file_open,file_line) && !file_line.empty()){   //第一行为标题的情况下,且各列之间是空格分隔符if(first_line){not_first_line=true;first_line=false;}else if(not_first_line){std::istringstream data_(file_line);data_>>num>>people>>city>>note;cout<<num<<" "<<people<<" "<<city<<" "<<note<<endl;;pair<int,string> _data=std::make_pair(people,city);data.push_back(_data);}}file_open.close();for(int i=0;i<data.size();i++){if(data[i].first > 600)cout<<"人流量大于600的城市:"<<data[i].second<<endl;}}int main()
{string input="./1.txt";read_txt(input);return 0;
}

3. 在文件首行添加列名称

#include <iostream>
#include <fstream>
using namespace std;//在第一行插入各列的名字int main()
{ifstream ifs("1.txt");ofstream ofs("output.txt");//ofs<<"x1\ty1\tx2\ty2\tth"<<endl;ofs<<"序号\t人流量\t城市\t其他\t"<<endl;char str[1024];while(ifs.getline(str, 1024)){ofs<<str<<endl;}ifs.close();ofs.close();return 0;
}

4. 修改文件中特定变量


```cpp
#include <fstream>
#include <iostream>
#include <cstring>
using namespace std;struct Data
{char name[20];int people;
};int main()
{FILE *fp=fopen("./2.txt","r+");Data data={"宁波",200};//修改目标char name[100];int people;while(fscanf(fp,"%s%d",name,&people)!=EOF){if(strcmp(name,data.name)==0 && people==data.people)//找到目标{fseek(fp,-3,SEEK_CUR);//回滚指针到200前cout<<"Please input new people"<<endl;cin>>people;fprintf(fp,"%d",people);//覆盖写入break;}}fclose(fp);return 0;
}

图像处理中处理批量图片和文件的小程序相关推荐

  1. Word2010中怎样压缩图片使文件变小

    我们在使用Word2010编辑文档的时候,为了使含有大量图片的文件变小,可以通过压缩图片实现.本篇经验就来介绍一下压缩图片的两种方法. 一.手动压缩图片 1.我们首先打开Word2010文档页面,选中 ...

  2. 编写文件搜索小程序:1. 输入绝对路径以及搜索关键字,2. 搜索指定路径下(包括子文件夹)中名称包含关键字的所有文件并打印出,3. 将当前操作记录日志

    package com.homework;import java.io.File; import java.io.FileOutputStream; import java.io.IOExceptio ...

  3. 微信小程序富文本解析点击图片放大_微信小程序解析富文本过程详解

    前言 最近公司在开发OTA微信小程序,一些页面的详情内容是HTML富文本格式的的,但是微信小程序不能直接解析HTML,需要将内容中的HTML标签转换成微信小程序所支持的标签. 开始的时候想过自己写方法 ...

  4. delphi 自动关联外部程序 打开文件_小程序跳转最全使用手册

    一.小程序与小程序互相跳转 小程序可以跳转至任意其他小程序,无需任何关联或绑定在同一个公众号,每个小程序可跳转的其他小程序数量限制为不超过10个.(如使用了跳转其他小程序功能,则需要在代码配置中声明将 ...

  5. python文件分发_python 写一个文件分发小程序

    一.概述 该小程序实现从源端到目标端的文件一键拷贝,源端和目标段都在一台电脑上面,只是目录不同而已 二.参数文件说明 1. settings.txt的说明 a. 通过配置settings.txt,填源 ...

  6. 用python实现一个按需生成用于vim跳转的tags文件的小程序

    初学python,找个有用的来练手.选定了一个我早就想做的让vim按需生成tags跳转文件的小程序. vim的tags用于跳转的好处自是不用多说,但是如何生成tags确实困扰我的一大问题,用VS的都知 ...

  7. 基于Python实现图片格式转换的小程序

    基于Python实现图片格式转换的小程序 特点: 批量处理图片 转换常见的4种图片格式 运行窗口 运行窗口-1 选择图片(可批量选择)-2 假设选中4张JEPG格式的图片 格式选择窗口-3 假设选择目 ...

  8. 图片相册社区类型小程序模板

    介绍: 图片相册社区类型小程序模板 网盘下载地址: http://zijieyunpan.com/q1zCdyZuB940 图片:

  9. 小程序中实现两个或者多个小程序之间互相跳转

    前言: 小程序中实现两个或者多个小程序之间互相跳转,a小程序带参跳转到b小程序中. 官方入口:wx.navigateToMiniProgram(Object object) 点我https://dev ...

最新文章

  1. 使用ASP.NET操作IIS7中使用应用程序
  2. c# html文本编辑器,C#实现简单文本编辑器
  3. 如何解决MySQL order by limit语句的分页数据重复问题?
  4. 清华MARS Lab招收博士生、研究助理和工程师,自动驾驶方向
  5. angular.forEach
  6. mysql报错2_MySQL基于报错注入2
  7. python-之基本语法
  8. static_cast, dynamic_cast, const_cast学习和探讨
  9. php考试倒计时提交系统,AJAX_基于Ajax技术实现考试倒计时并自动提交试卷,1.概述在开发网络考试系统 - phpStudy...
  10. sqlsugar 批量删除guid类型主键_SAP使用MASS批量修改主数据
  11. 湖北省仙桃市2021年高考成绩查询,2021年4月湖北仙桃市自考成绩查询时间和有效期是多久?...
  12. 【英语学习】【WOTD】senescence 释义/词源/示例
  13. 如何在Mac系统清理 “其他” 中文件和数据
  14. arcgis怎么压缩tif文件_PDF文件怎么压缩?这个方法一看就会!
  15. Postgresql去掉某个字段多余的空格
  16. 涉及到的数据安全技术包括哪些内容
  17. 计算机网络连接无线局域网,电脑如何连接无线局域网
  18. 金蝶K3提取在途订单数据并设置触发(可用于在途订单交期回复)
  19. 死链提交为什么不能提交 html文件,手把手教你向百度站长平台提交XML和TXT死链文件...
  20. 理想世俗化:受挫的年轻一代 未来在哪里

热门文章

  1. change在c语言中的用法,常用词change的用法与搭配
  2. 4 多线程应用:数据库连接池
  3. PIL库中的paste函数
  4. learn python 3the hard way ex4 5 6 7
  5. 锤子手机能算一个好的产品么?
  6. 阿加内存管理 初始化(八) 至kswapd_init
  7. 12月15日起施行!国家网信办正式发布修订版《互联网跟帖评论服务管理规定》
  8. CSS input属性
  9. java网络编程 听_java网络编程 - 亲亲媛的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. 用计算机采集卡检测压力传感器信号故障,计算机联网检测系统在机动车检测中的应用...