1

私は画像処理プロジェクトに取り組んでいます。GUIにphp、アルゴリズムにmatlab、データベースにMysqlを使用しています。現在、データベースに 30,000 枚の画像が保存されています。私の matlab プログラムは、300 要素を含む各画像に対して 3 つの配列を生成します。だから、私の質問は

  1. すべての画像に対して matlab から生成された配列を 1 つの txt ファイルに保存するか、画像ごとに txt ファイルを作成するか。データを取得してデータベースに保存するのに、どちらの方法が簡単ですか?
  2. 配列をtxtファイルからコピーしてデータベースに保存するのはどれくらい難しいですか? このための標準的なプロセスはありますか?
  3. さらに計算するには、配列の要素を取得する必要があります。この目的でシリアライズとデシリアライズを使用できますか?
  4. 一度に 2 つの配列要素を比較し、両方の配列から最小値を持つ 3 番目の配列を取得する必要があります。たとえば、A=[1 2 3 4] と B=[6 1 4 2] この 2 配列の各要素を比較し、配列の各要素を比較する 3 番目の配列 c=[1 1 3 2] を生成する必要があります。他の配列の対応する要素を取得し、最小要素を 3 番目の配列に格納します。このプロセスは、1 つの固定配列と比較して数千の配列で繰り返されます。これを行うphp関数はありますか?

提案やヘルプは非常に高く評価されます。ありがとうございました。

4

2 に答える 2

1

この場合の最善の解決策は、画像に関連するデータ (配列) を格納する別のメタ テーブルを作成することです。

EER の簡単な例を次に示します。

画像DB EER

image_id(外部キーの参照)、array、およびの組み合わせがindex、メタ テーブルの主キーを構成します。

配列のキーを 0-indexed として安全に表すことができ、配列のすべての値も数値であると仮定しています (これがすべてのフィールドが type である理由ですINTが、そうでない場合はそれに応じてデータ型を調整してください)。

  • image_idリンクされた image_id を表します。
  • arrayは特定の配列を表します (最大 3 つの配列と言ったので、この列の値は のどこかにあります1-3)。
  • index配列内の数値インデックスです。
  • valueインデックスとペアになっている配列の値です。

メタ テーブルのデータの例は次のようになります。

image_id    |    array    |    index    |    value
------------------------------------------------------
256         |    1        |    0        |    5
256         |    1        |    1        |    9
256         |    1        |    2        |    4
256         |    1        |    3        |    23
256         |    1        |    4        |    1
256         |    2        |    0        |    9
256         |    2        |    1        |    15
256         |    2        |    2        |    8
256         |    2        |    3        |    19
256         |    2        |    4        |    11

上記のデータ例では、それぞれ 5 つの要素 (列で表されるキーと列で表される値)を持つ 2 つの配列 (それぞれ列で12で表されます) があります。arrayindexvalue

必要な数のインデックスを使用して、必要な数の配列を格納できます。

を使用して、必要な配列比較計算を MySQL で直接実行することもできますGROUP BYimage_id 256 のすべての配列で各キーの最小値を見つける方法は次のとおりです (3 つの配列があるとします)。

SELECT   index, MIN(value) AS minvalue
FROM     image_meta
WHERE    image_id = 256
GROUP BY index

image_id( 、array、 )に複合インデックスが設定されているためindex、これは非常に高速なはずです。

この設計では、画像ごとに可変数のインデックスと配列を使用することもできます。

于 2013-04-02T03:24:58.873 に答える