1

真のモザイクアプリケーションを作成しようとしています。現在、私は1つのモザイク画像を持っています。つまり、モザイクが基づいているものと、画像ライブラリとして機能するiPhotoライブラリからの約4000の画像です。私はすでに調査を行い、モザイク画像を分析しました。私はそれをそれぞれ8ピクセルの64x64スライスに変換しました。各スライスの平均色を計算し、r、g、b、および明るさ(輝度(知覚されるオプション1)=(0.299 * R + 0.587 * G + 0.114 * B))の値を主張しました。画像ライブラリの写真ごとに同じことを行いました。

モザイクスライステーブルはそのように見えます。

slice_id, slice_image_id, slice_slice_id, slice_image_column, slice_image_row, slice_colour_hex, slice_rgb_red, slice_rgb_blue, slice_rgb_green, slice_rgb_brightness

画像ライブラリテーブルはそのようになります。

upload_id, upload_file, upload_colour_hex, upload_rgb_red, upload_rgb_green, upload_rgb_blue, upload_rgb_brightness

つまり、基本的には、スライステーブルからPHPに画像スライスを読み取り、カラーヘックスに基づいてライブラリテーブルから適切な画像を引き出します。私の問題は、私がこれを長く続けていて、おそらくエナジードリンクが多すぎて適切に集中していないことです。適切な16進コードが存在しない場合、最も近い色の隣人を見つける方法を見つけることができません。

完璧なクエリに関するアイデアはありますか?

注意:スライスを1つずつ引き出すのは理想的ではないことはわかっていますが、モザイクは定期的に再構築されるだけなので、mysqlの負荷が突然バーストしても、実際には気になりません。ただし、画像を一度に引き出す方法があれば、それも大きなボーナスになります。

明るさの比較を更新します。

明るさで

代替テキスト
(出典:buggedcom.co.uk

明るさなし

代替テキスト
(出典:buggedcom.co.uk

4

2 に答える 2

1

(RGB コンポーネントに関して) 色の違いを最小限に抑える 1 つの方法は、各コンポーネントの違いを個別に最小限に抑えることです。したがって、最も低いエントリを探しています

(targetRed - rowRed)^2 + (targetGreen - rowGreen)^2 + (targetBlue - rowBlue)^2
于 2010-05-07T00:40:09.287 に答える
0

色空間としてRGBの代わりにHSLを使用した方がよいと思います。RGB から HSL を計算する式は、インターネット (およびリンクされたウィキペディアの記事) で入手できます。最適な一致を計算するために必要なものが得られる場合があります。

于 2010-05-07T00:34:14.487 に答える