Вы должны войти, чтобы создавать сообщения и темы.

Мини программа для обработки изображений

Всем привет! 
Я студент и делаю курсач. Но если вы думаете, что я прошу вас сделать курсач за меня - вы ошибаетесь. Итак объясняю по порядку.
Курсач - устройство. Для его реализации мне надо написать алгоритм для обработки изображений. Так как программирую на c# решил сперва алгоритм написать на этом языке, а заодно и разобраться с тем, а как вообще с ними работать. 

Теперь о самом приложении и в чем мне, собственно, требуется помощь. Приложение принимает изображение и "разбирает" его на пиксели, далее формируется аналог этого изображения из кругов/прямоугольников. То есть каждый пиксель заменяется на некую фигуру. 

В данный момент я написал простейшее приложение на wpf, которое берет изображение 512х512, разбирает его через bitmap и выводит в виде uniformgrid заполненного rectangles соответствующего цвета. Вот только работает это полминуты и съедает Гб оперативки.

И список вопросов на эту тему:
1) Можно ли это дело оптимизировать как по памяти, так и по времени?
2) Может ли кто нибудь подсказать, где можно почитать о попиксельной обработке изображений?(не обязательно с#)

Если есть какие то вопросы - задавайте, я отвечу. Всем хорошего настроения)

Может смотреть в сторону OpenGL уже или XNA?
И если Вы просите ускорить алгоритм, так покажите его, или Вам достаточно того что я скажу, "Можно оптимизировать память!".
И немного непонятно. Опустим что пиксель квадратный (не углубляясь в субпиксель). На основе изображения делаем не формат изображения, а формат разного цвета фигурок? и если я правильно понял нужно смотреть как я изложил выше.

Цитата: Roman Anderson [anomal3] от 17.10.2020, 18:39

И если Вы просите ускорить алгоритм, так покажите его, или Вам достаточно того что я скажу, "Можно оптимизировать память!".

На самом деле - да. Я просто в каждом цикле создавал новый битмап, потому он столько и жрал. Только я после этого психанул и стер алгоритм нахрен. 
Дальше, прошу прощения, неверно сформулировал сам вопрос. Суть в том, что мне этот проект необходим только для ознакомления с незнакомой вещью, на основе хоть немного, но знакомой. Все это счастье мне нужно для того, чтобы понять алгоритм работы с этим и переложить его на verilog. А в итоге мне нужен алгоритм обработки изображений в схемотехническом виде. То есть сторонние библиотеки помогут только если они с открытым исходным кодом, да еще понятно, а как там все работает. 
И мне нужен алгоритм работы а не готовое решение. Не обязательна работа через битмапы или какое то еще представление в виде изображения. Если есть возможность извлечь информацию и обработать ее самым оптимальным образом. Если это окажется работа в побитовом представлении - я буду использовать ее. 

Если я написал так, что ни хрена не понятно, а что надо (пардоньте, бывает), то вот вкратце:
Нужна не оптимизация алгоритма, а объяснение каким образом можно работать с изображениями попиксельно, ставя в приоритет скорость работы и без подключения библиотек. Либо ссылка на источники, которые освещают эту тему.