BlackZhu
V2EX  ›  问与答

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

  •  
  •   BlackZhu · Jul 30, 2020 · 2988 views
    This topic created in 2286 days ago, the information mentioned may be changed or developed.

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

    TimePoint      Xaxis  Yaxis   Red   Green  Blue   Alpha

    2020-01-01     15      26       148    44       36       255

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

    11 replies  •  2020-07-31 19:10:40 +08:00
    DJQTDJ
    DJQTDJ
    Jul 30, 2020
    1
    写到文本文档里面,数据库就存个时间和文件名就行了
    benjix
    benjix
    Jul 30, 2020 via Android
    2
    存个矩阵呗,一张图片一条就行了
    BlackZhu
    BlackZhu
    OP
    Jul 30, 2020
    3
    @benjix 但是我需要类似 sql 中的 where 一样把某个 xy 点的所有数据取出来
    lovecy
    lovecy
    Jul 30, 2020
    4
    RGBA 可以存一个 unsignint 吧
    darer
    darer
    Jul 30, 2020
    5
    存个 csv 也挺好
    msg7086
    msg7086
    Jul 31, 2020
    6
    想怎么查询就怎么存数据呗。
    比如你一个月 300 张图,每个像素放在一起也就 1KB 多,25 万条 1KB 的数据,好像也还行?
    widewing
    widewing
    Jul 31, 2020 via Android
    7
    这存 10 年也没多少数据吧,直接全 load 内存
    volvo007
    volvo007
    Jul 31, 2020
    8
    如果每张图片都是 500x500,那么并不需要保存 xy,输入具体的 xy 之后转换一下坐标就可以了

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

    这样一张图片根本不需要 25w 条数据,一条就行,不要吓自己啊
    volvo007
    volvo007
    Jul 31, 2020
    9
    @volvo007 补充一条,如果不介意用 python 的话:每张图片可以看作一个 500*500*4 的三维张量,后面无非加入一个日期+第几张做 4 、5 维——这种类型的数据都可以保存到 hdf5 文件里,读写很快,而且很多语言和库对这个格式有特殊优化,跑起来也很快
    BlackZhu
    BlackZhu
    OP
    Jul 31, 2020
    10
    @volvo007 取 rgb 失败了 不知道为什么用 java 取出来的 rgb 和 ps 取出来的 rgb 值不一样 现在读的 nc 文件 取的是二维数组 二维数组不拆分保存到数据库里面有什么好的办法吗?
    volvo007
    volvo007
    Jul 31, 2020
    11
    @BlackZhu 是不是 rgb 和 bgr 的排序问题?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5078 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 01:17 · PVG 09:17 · LAX 17:17 · JFK 20:17
    ♥ Do have faith in what you're doing.