真のモザイクアプリケーションを作成しようとしています。現在、私は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)