c++实现大批量图片的均值消减均方差化1操作

进来经常处理大批图片,图片的操作名字实在是麻烦得紧。下面谈一谈最常用的文件读写操作。

点击打开链接,作者写的非常明白。明白了这篇博客里的文章之后,就容易多了。

需要包含的头文件: <fstream>

名字空间: std

也可以试用<fstream.h>

fstream提供了三个类,用来实现c++对文件的操作。(文件的创建,读写)。

ifstream -- 从已有的文件读

ofstream -- 向文件写内容

fstream - 打开文件供读写

支持的文件类型

实际上,文件类型可以分为两种:文本文件和二进制文件.

文本文件保存的是可读的字符, 而二进制文件保存的只是二进制数据。

利用二进制模式,你可以操作图像等文件。

用文本模式,你只能读写文本文件。否则会报错。

由于我把图片的名字都存储在一个txt文件里,

我每次读一行,也就是读取一个图片,然后进行操作。

简单的举个例子,我要对一批图片进行预处理,预处理的方法是 均值消减和均方差为1,然后再把图片归一到0-255,并存储到另一个文件夹。

代码如下:

#include<iostream>
#include<fstream>
#include<string>
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{

	Mat src,src0,img,lala,final,over;
	double average;
	ifstream fs;
	fs.open("twoclasstrnegativeimglist.txt",ios::in);
	char img_name[128];
	const string imgpath="D:/twonegative/";
	const string imgsavepath="D:/processed2negative/";
	while(fs.getline(img_name,128))
	{
	src=imread(imgpath+img_name,-1);
	src.convertTo(src0,CV_64FC1);
	meanStdDev(src0,img,lala);
	final=(src-img.at<double>(0,0))/lala.at<double>(0,0);
	normalize(final, over, 0, 255, NORM_MINMAX, CV_8UC1);
	imwrite(imgsavepath+img_name,over);
	}

    waitKey();
	return 0;

}

时间: 2024-12-10 06:24:14

c++实现大批量图片的均值消减均方差化1操作的相关文章

导出大批量图片的名字到txt文件的一种笨但有效的方法

我经常对很多图片进行操作,所以经常要导出大批量图片的名字到txt文件里保存起来供后续批量处理图片. 我的方法是,假如你大量的图片存储在d:/img/里,那么你用鼠标选中img 文件夹,按住shift键,右键在此处打开命令窗口. 键入 TREE /F >d:\list.txt 这样在D盘就会生成一个list.txt文件,不过要手动删掉首尾的一些字和空行,这样剩下每一行的图片名字前都有空行,下面我贴出来我在网上找到的的用来去除这些空格的代码. // //本程序用于将文件中的多余空格去除并保存到另一文

加一线程与减一线程共同操作一个数

注意:不能synchronized(j) 因为j是基本数据类型,不是对象! /** * 加一线程与减一线程共同操作一个数 两个问题: 1.线程同步--synchronized 2.线程之间如何共享同一个j变量--内部类 * */ public class test { int j = 1; public synchronized void inc() { j++; System.out.println(Thread.currentThread().getName() + "-inc:"

不同格式下计算图片的均值和caffe.proto

均值是所有训练样本的均值,减去之后再进行训练会提高其速度和精度. 1.caffe下的均值 数据格式是二进制的binaryproto,作者提供了计算均值的文件compute_image_mean, 计算均值时调用: sudo build/tools/compute_image_mean examples/mnist/mnist_train_lmdb examples/mnist/mean.binaryproto 生成的均值文件保存在mean_binaryproto. 2.python格式下的均值(

图片怎么进行局部识别,具体的操作步骤分享

在当今这个快速发展的时代,图片局部识别已经不是什么新鲜的事情了.图片局部识别操作起来可以很好地帮助我们的日常工作,比如是说突然要对一张图片上的信息进行录用,那么大家是不是一点一点的进行打字的操作的呢?这样的话会很没有操作技巧的,当然也会比较浪费我们的时间.接下来小编就给大家分享一种图片局部识别操作技巧. 第一步:首先我们可以在百度或者手机软件官网搜索图片局部识别软件,找到相应的这款软件,就可以下载下来. 第二步:下载安装好之后,打开我们下载的软件,打开下载好的OCR文字识别软件工具,让图片转文字

【Android】自定义ImageView实现图片的平移、缩放、旋转(手势操作)

http://blog.csdn.net/happy_bug/article/details/7895244 在网上搜到很多都是一样的版本,只有平移和缩放的功能.我在搜到的源代码基础上添加了旋转和边界检查的功能.

预处理方法

数据预处理在众多深度学习算法中都起着重要作用,实际情况中,将数据做归一化和白化处理后,很多算法能够发挥最佳效果.当我们开始处理数据时,首先要做的事是观察数据并获知其特性.本部分将介绍一些通用的技术,在实际中应该针对具体数据选择合适的预处理技术.例如一种标准的预处理方法是对每一个数据点都减去它的均值(也被称为移除直流分量,局部均值消减,消减归一化),这一方法对诸如自然图像这类数据是有效的,但对非平稳的数据则不然. 数据归一化 简单缩放 在简单缩放中,我们的目的是通过对数据的每一个维度的值进行重新调

[翻译]位运算暗黑魔导书

原文地址:http://graphics.stanford.edu/~seander/bithacks.html 有本书叫hack's delight也是主讲位运算的. 下面正文开始翻译吧,不定时更新. 声明: 如无特殊说明,所有的代码段都是不受版权限制的,如果喜欢,大家可以随便使用.文章内容由Sean Eron Anderson收集整理于1997-2005年.位运算的相关代码.说明以及分类希望能够给大家带来帮助,但是不对于该内容是否适合特定用途提供任何担保(or授权?).截止2005年5月5日

Caffe图片特征提取(Python/C++)

Caffe图片特征提取(Python/C++) 1.Caffe特征提取(C++实现) Caffe框架提供了相应的Tools(build/tools/extract_features.bin)工具extract features,官方教程,使用方法如下: extract_features.bin xxx.caffemodel xxxx.prototxt layer-name output-path mini-batches db-style xxx.caffemodel:已训练好的模型参数 xxx

图片遮盖和雪碧图的用法

图片遮盖,当我们想对一张图片设置超级链接时,可以先将该位置设置一个和图片一样大小的div并在div中添加文字设置超链接,再将图片覆盖上去,就有超链接效果,最后将文字移开. 方法: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css&qu