Добавление к файлу изображения

Я написал программу, которая делает «фотографию» и для каждого пикселя он выбирает вставку изображения из ряда других фотографий. Выбранное изображение - это фотография, средний цвет которой наиболее близок к исходному пикселю на фотографии.

Я сделал это, сначала усреднив значения rgb для каждого пикселя в «стандартном» изображении, а затем преобразовав его в CIE LAB, чтобы я мог вычислить, насколько он «близок» к рассматриваемому пикселю с точки зрения человеческого восприятия цвета.

Затем я скомпилировал изображение, в котором каждый пиксель в исходном изображении «фото» был заменен на «ближайший» 'стоковое изображение.

Это прекрасно работает, и эффект хороший, однако размер стандартного изображения составляет 300 на 300 пикселей и даже с флагами виртуальной машины "-Xms2048m -Xmx2048m", что да, я знаю, нелепо, на изображении размером 555 пикселей на 540 пикселей я могу заменить только стандартные изображения, уменьшенные до 50 пикселей, прежде чем я получу ошибку нехватки памяти.

Так что в основном я пытаюсь придумать решения. Во-первых, я думаю, что сам эффект изображения можно улучшить, усредняя каждые 4 пикселя (квадрат 2x2) исходного изображения в один пиксель, а затем заменяя этот пиксель изображением, так как таким образом маленькие фотографии будут более заметны на отдельном отпечатке. . Это также должно позволить мне рисовать стоковые изображения большего размера. Есть ли у кого-нибудь опыт подобного рода манипуляций с изображениями? Если да, то какие уловки вы обнаружили для создания красивого изображения.

В конечном счете, я думаю, что способ уменьшить количество ошибок памяти - это многократно сохранять изображение на диск и добавлять следующую строку изображений в файл, постоянно удаляя старые набор визуализированных изображений из памяти. Как это может быть сделано? Это похоже на добавление обычного файла.

Любая помощь в этом последнем вопросе будет принята с благодарностью.

Спасибо,

Алекс

5
задан alexganose 6 December 2010 в 01:00
поделиться