24小时热门版块排行榜    

查看: 2871  |  回复: 18

lyw8120

银虫 (正式写手)

[求助] 读取多个txt文件

各位大侠,

我需要读取一个文件夹下的全部txt文件,将它们存储在一个数组中。目的在于计算这个文件的均值(这些文件都是图像数据,想求它们的均值),并将所得的均值分别与这些图像比较 (比较做个减法)求出这些图像中固定不变的点,然后移除它们。

我不知道如何做,这些必须在c++中完成。

谢谢了。
回复此楼
Life is good,life is fair,life is just.Just trust yourself
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

harryzs

铜虫 (正式写手)

★ ★
jjdg(金币+1): 感谢参与 2012-01-27 10:22:47
jjdg(金币+1): 春节快乐 2012-01-27 10:22:53
引用回帖:
4楼: Originally posted by lyw8120 at 2012-01-25 18:19:26:
很简练,这样能实现这些图像数据的求均值并比较么?能否具体点?

不好意识,我不太懂什么是图像数据

你能否 把你的文件(.txt)的前10行 贴出来,
以及,你需要什么样的运算及结果输出给格式?

最好举个例子哈哈
5楼2012-01-26 17:40:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

【答案】应助回帖

jjdg(金币+1): 感谢应助 2012-02-22 00:49:07
lyw8120(金币+5): 谢谢,你说的是个方法,可以这些不在是我的问题,我已经用C++解决了。我的问题是如何在opencv显示这些图像,因为图像的数据是文本,图像的信息(大小,深度,位数)在另一个文件里。所以难以实现。我现在正准备编写一个C++代码读取这些信息。用opencv的图形界面显示我的图像。 2012-02-22 06:29:33
引用回帖:
15楼: Originally posted by lyw8120 at 2012-02-21 22:10:32:
imread 或cvloadimage只能读取图像,不是数据。
我的数据特殊,没有图像头文件,无法将相应的图像信息读入。

楼主为什么不用matlab或者Gnu octave试试呢?

linux下面写个octave 脚本(类似于matlab),很容易搞定的。

我粗粗的写了一点test.m :
CODE:
#!/usr/bin/octave -qf

fileList = glob("*.mat");  % 所有的mat文本文件 列表
dimX = 500;
dimY = 500;

TotalMat = zeros(dirX,dimY);

% 算平均
for n = 1:size(fileList, 1)
       dataTemp = load( fileList{n, 1});  % 读取文本内容
       TotalMat = TotalMat + dataTemp;
end

TotalMat = TotalMat / size(fileList, 1);

% 作比较
for n = 1:size(fileList, 1)
       dataTemp = load( fileList{n, 1});  % 读取文本内容
       % 作比较   save('blabla.dat', 'blabla');
end

save('final.dat', 'TotalMat');

很女子很弓虽大
16楼2012-02-21 23:56:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
lyw8120(金币+5): 有帮助 很不错,我可以去尝试,但是我还是想全用C++完成。 2012-01-25 02:31:36
jjdg(金币+1): 感谢参与 2012-01-25 09:59:35
jjdg(金币+1): 春节快乐 2012-01-25 09:59:41
ben_ladeng(专家考核): 2012-02-21 17:48:01
去学习opencv,只需要简单的c++知识.大概3小时就够了
opencv读图后,所有数据都当做矩阵,跟matlab非常类似,只是不能向量化,矩阵必须用下标双循环,
不过如果你的就是简单的求均值作差,好像有函数cvAvg和cvSub,非常方便
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2012-01-25 01:55:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

harryzs

铜虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
jjdg(金币+1): 感谢参与 2012-01-25 09:59:49
jjdg(金币+1): 春节快乐 2012-01-25 09:59:56
Under Linux:
cat  *.* | awk "do what you want"

» 本帖已获得的红花(最新10朵)

3楼2012-01-25 03:35:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lyw8120

银虫 (正式写手)


送鲜花一朵
jjdg(金币+1): 春节快乐 2012-01-26 10:50:19
引用回帖:
: Originally posted by harryzs at 2012-01-25 03:35:37:
Under Linux:
cat  *.* | awk "do what you want"

很简练,这样能实现这些图像数据的求均值并比较么?能否具体点?
Life is good,life is fair,life is just.Just trust yourself
4楼2012-01-25 18:19:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijie169

铜虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
lyw8120(金币+2): 2012-02-16 04:42:52
lyw8120(金币+2): 2012-02-19 16:42:38
opencv的确可以做到,你的图像数据已经保存为txt文件,也可以自己用c语言实现,读取文件的函数fopen,格式化逐行读取函数sprintf,求值,也可以完成!
6楼2012-02-15 15:08:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
jjdg(金币+1): 感谢参与 2012-02-17 02:00:40
lyw8120(金币+2): 2012-02-19 16:42:07
lyw8120(金币+5): 2012-02-19 16:42:21
C++里面实现的话,有几个细节问题要处理:
1. 每个数据文件的格式(矩阵大小)都必须是一样的;
2. 文件夹下面的文件有几个,动态处理,还是静态的手动填写入程序代码;
3. 要是文件个数过多,那就不能把文件内容一次性读取进内存。

估计写写需要3-4个小时吧。

最好,文件数据大小一致,每次读取一个,做加法,读取完成后,做平均,然后再跟原文件数据做大小比较(“相等”的定义需要一个浮点数精度)。
很女子很弓虽大
7楼2012-02-16 18:36:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

jjdg(金币+1): 感谢参与 2012-02-17 02:00:33
引用回帖:
7楼: Originally posted by lurencyj at 2012-02-16 18:36:23:
C++里面实现的话,有几个细节问题要处理:
1. 每个数据文件的格式(矩阵大小)都必须是一样的;
2. 文件夹下面的文件有几个,动态处理,还是静态的手动填写入程序代码;
3. 要是文件个数过多,那就不能把文件内 ...

在linux下的话,可以简单的做一个文件名列表作为c++程序的输入参数。

dir *.dat` > datafiles

./cpp_exe "datafiles"
很女子很弓虽大
8楼2012-02-16 18:41:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lyw8120

银虫 (正式写手)

引用回帖:
: Originally posted by lurencyj at 2012-02-16 18:41:52:
在linux下的话,可以简单的做一个文件名列表作为c++程序的输入参数。

dir *.dat` > datafiles

./cpp_exe "datafiles"

我已经解决了,方法与你类似。
Life is good,life is fair,life is just.Just trust yourself
9楼2012-02-19 16:41:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shouhangwn

铜虫 (小有名气)

我觉得在linux下比较方便,进来学习了~~~

» 本帖已获得的红花(最新10朵)

不要说,因为没关系,那就算了吧
10楼2012-02-21 12:59:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lyw8120 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 关于filecode +3 布布和一二 2026-08-07 4/200 2026-08-07 16:34 by 医学老男孩
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode与中标关系的预测 +3 布布和一二 2026-08-07 3/150 2026-08-07 15:09 by gltch
[论文投稿] 十年后又回来了,论文投稿求助 +4 哈哈114477 2026-08-01 4/200 2026-08-07 14:39 by jgy194592
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] 关于豆爷回答的JTJC与%2F数量 +4 yang182083 2026-08-06 6/300 2026-08-07 12:43 by 虫友是什么虫
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +23 低垂的野花 2026-07-31 31/1550 2026-08-07 12:22 by speculiar
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] 基金中了 +11 laoda193707 2026-08-06 11/550 2026-08-07 10:54 by TT和NN
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见