每天产生 10 张 500x500 的图片,并将每个像素点的 rgb 数据储存起来

2020-07-30 16:15:41 +08:00
 BlackZhu

一张图片就是 25w 条数据,一天就是 250w 条,数据形式大概为

TimePoint      Xaxis  Yaxis   Red   Green  Blue   Alpha

2020-01-01     15      26       148    44       36       255

然后要通过 xy 轴筛选出数据,请问哪种储存形式好一点?

1834 次点击
所在节点    问与答
11 条回复
DJQTDJ
2020-07-30 16:25:48 +08:00
写到文本文档里面,数据库就存个时间和文件名就行了
benjix
2020-07-30 16:39:49 +08:00
存个矩阵呗,一张图片一条就行了
BlackZhu
2020-07-30 16:57:22 +08:00
@benjix 但是我需要类似 sql 中的 where 一样把某个 xy 点的所有数据取出来
lovecy
2020-07-30 18:21:36 +08:00
RGBA 可以存一个 unsignint 吧
darer
2020-07-30 20:58:52 +08:00
存个 csv 也挺好
msg7086
2020-07-31 01:20:17 +08:00
想怎么查询就怎么存数据呗。
比如你一个月 300 张图,每个像素放在一起也就 1KB 多,25 万条 1KB 的数据,好像也还行?
widewing
2020-07-31 03:31:35 +08:00
这存 10 年也没多少数据吧,直接全 load 内存
volvo007
2020-07-31 13:56:02 +08:00
如果每张图片都是 500x500,那么并不需要保存 xy,输入具体的 xy 之后转换一下坐标就可以了

每一个像素点用一个 32 位整型保存,按坐标取出后拆分为 rgba 就可以了吧……

这样一张图片根本不需要 25w 条数据,一条就行,不要吓自己啊
volvo007
2020-07-31 13:58:56 +08:00
@volvo007 补充一条,如果不介意用 python 的话:每张图片可以看作一个 500*500*4 的三维张量,后面无非加入一个日期+第几张做 4 、5 维——这种类型的数据都可以保存到 hdf5 文件里,读写很快,而且很多语言和库对这个格式有特殊优化,跑起来也很快
BlackZhu
2020-07-31 16:27:08 +08:00
@volvo007 取 rgb 失败了 不知道为什么用 java 取出来的 rgb 和 ps 取出来的 rgb 值不一样 现在读的 nc 文件 取的是二维数组 二维数组不拆分保存到数据库里面有什么好的办法吗?
volvo007
2020-07-31 19:10:40 +08:00
@BlackZhu 是不是 rgb 和 bgr 的排序问题?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/694374

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX