24小时热门版块排行榜    

查看: 2914  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[博后之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 k0dTPqJtl0jt 2026-08-14 3/150 2026-08-15 12:41 by KxMI1BYBxWX1
[考研] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 7lpolszZVXgi 2026-08-14 8/400 2026-08-15 11:53 by KxMI1BYBxWX1
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-15 11:41 by KxMI1BYBxWX1
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 HFw0lei2R37i 2026-08-14 9/450 2026-08-15 11:33 by KxMI1BYBxWX1
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 k0dTPqJtl0jt 2026-08-14 5/250 2026-08-15 07:09 by 4wMiSEwB6436
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 k0dTPqJtl0jt 2026-08-14 5/250 2026-08-15 04:45 by 4wMiSEwB6436
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 HFw0lei2R37i 2026-08-14 4/200 2026-08-15 04:17 by 4wMiSEwB6436
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 k0dTPqJtl0jt 2026-08-14 4/200 2026-08-15 01:28 by 4wMiSEwB6436
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-14 22:32 by 4wMiSEwB6436
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +23 Lanmanbaby 2026-08-09 37/1850 2026-08-14 13:40 by Equinoxhua
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[文学芳草园] 阿姨 +4 汪汪锅 2026-08-09 4/200 2026-08-13 19:43 by arzu_hma
[硕博家园] 一作与独作在应聘高校教师时区别大吗 +3 mbygzh 2026-08-08 4/200 2026-08-13 19:31 by 龙-樱
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
信息提示
请填处理意见