Проекты на PascalABC.NET

22 сообщения перенесены в тему Болталка PascalABC.NET

Ещё одна моя разработка - приложение для восстановления выцветших фотографий, ColorRestorer.

045_21 => 23 ColorRestorer.zip (169,0 КБ)

Код также доступен на GitHub по следующей ссылке: https://github.com/PABCSoft/ColorRestorer.

Также по теме обработки изображений: автоматическое окрашивание методом тов. Welch. Его работу можно найти по следующей ссылке: http://www.cse.iitd.ernet.in/~pkalra/col783/colorize.pdf. По сути программа перекладывает цвет с одного изображения на другое по специальному статистическому алгоритму. Также должен предупредить, что алгоритм имеет некоторые элементы случайности, поэтому результаты с одними и теми-же входными данными могут быть разными, следовательно, можно несколько раз произвести операцию окрашивания, не меняя входные данные, чтобы добиться наилучшего результата.

+ => Код доступен на странице PABCSoft в GitHub: https://github.com/PABCSoft/ColorShifter. Данная программа уже демонстрировалась на нескольких конференциях и была отмечена жюри.

1 лайк

По обработке изображений у меня есть ещё одна Open Source программа - ImageEngraver. Эта программа использует один из фильтров первого свёрточного слоя нейросети VGG16 для наложения на изображение эффекта гравюры.

=> Разработка доступна в GitHub: https://github.com/PABCSoft/ImageEngraver.

На GitHub был залит MnistNet: https://github.com/PABCSoft/MnistNet.

Есть ещё одно приложение: PABCPlayer. Это простой медиаплеер, написанный для демонстрационных целей.

Код доступен на GitHub: https://github.com/PABCSoft/PABCPlayer.

1 лайк

В связи со всякими там образцами как-то вдруг образовался релиз TRAC4 4.27.1 Лежит на GitHub всё там-же. TRAC4 (он же MACAR) в основном и отличался от TRACТ T64 образцами и списками. Кстати, этот вариант был лет 30 назад написан. Новый релиз пришлось делать, так как оказалось что из-за мелкого бага в программе, PascalABC.NET версия выдавала … range check error который таки был отключён всюду кроме ABC, где его и поймали.

Там добавлено три примера: match.trac (вводится match на основе примитива te), def_pets.trac - пример определения образцов с таким match (сама идея примера из Википедии где подобное описано для OCaml). Ну и тест таких образцов в test_pets.trac. То есть, если эти три файла лежат в директории с exe, то после запуска достаточно набрать #(lf,test_pets.trac)’

Реализовал приложение для стилизации изображений под работы известных художников. Это аналог популярных приложений Artisto и Prisma, имеющий одно преимущество: он полностью автономен (работает без подключения к Сети) и работает на операционных системах семейства Windows(xp и выше) независимо от их разрядности. Все исходные коды доступны на GitHub: https://github.com/PABCSoft/ImageStyler.

Оригинал:

Стилизованное изображение:

На данный момент доступно 6 стилей.

8 лайков

Интересно, в среде PABC. NET пока не хватает примеров, что можно сделать, поэтому список готовых проектов был бы весьма кстати, не говоря уже о более человеческом описании хода работы - что? почему? как? и т.д.

Например, как появилась идея? Почему именно PABC ,NET? Почему без поддержки графической карты, ведь даже встроенные модели неплохо поддерживают шейдеры? Что получилось, что нет, что изменилось, а что планируется? и прочее. Хотя для этого больше подходит если не read.me, то блоги.

Удачи)

2 лайка

Идея появилась тогда, когда у меня на планшете закончился интернет, и я не смог воспользоваться аналогичными приложениями, перечисленными мной ранее. :smile: Ну а если серьёзно, то более-менее понятной и простой реализации подобного приложения я не нашёл. К тому же для Паскаля высоконагруженные системы - большая редкость. К сожалению.

Потому что этот язык лучше всего подходит для реализации сложных приложений простым (но полным) кодом. Кроме того, это мой любимый язык.

У меня были мысли реализовать использование видеокарты, но после более подробного изучения вопроса выяснилось, что нужна не обычная видеокарта, которая есть у любого компьютера, а специальная, очень мощная и дорогая. От NVIDIA. Помимо того, мне хотелось сделать приложение максимально простым. Ведь именно собственноручная запись всех алгоритмов приложения позволяет понять принцип его работы, и читающим его исходный код программистам тоже. По поводу встроенных моделей не понял. Можете чуть подробнее?

То, что получилось, Вы вполне можете оценить по репозиторию на GitHub. При разработке я не использовал ничего, кроме PascalABC.NET и стандартных библиотек Платформы, поэтому Вам не составит труда откомпилировать и запустить приложение. В настоящий момент я работаю над добавлением новых стилей, оптимизацией приложения и реализацией алгоритма Гатиса, который позволит стилизовать под абсолютно любое изображение. В ближайшее время я начну работать над статьёй для Хабрахабр, в которой попытаюсь максимально подробно расписать процесс разработки приложения.

Всё описание на англ. и русс. на гитхабе.

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

2 лайка

Сергей, довольно амбициозный, хотя и интересный проект - ещё на ZX Spectrum в Бейсике сам начинал со взвешенных ходов, используя бэктрекинг для отсеивания тупиковых вариантов и замену игрока (бота) для предсказания возможных ходов оппонента (+x для белых = -x для чёрных), пока не упёрся почти в 40КБ долгоиграющей логики, без возможности свопа на диск и не застрял на переработке агрегатора, заменяя одно GOTO/GOSUB на другое.

Хотя как-то попадался неплохой “среднячок” юношеского разряда вроде на BP7, но там была смешанная оценка рисков (расстановки), что злоупотребляла прописанными шаблонами (записи дебютов, миттель- и эндшпилей нескольких гроссмейстеров) с небольшими вариациями, а основной код был в криптованой библиотеке с враппером, а с IDA и BlackIce тогда не разобрался, увы. Особенно печально, что на самом сложном уровне компьютер зря гнался за тяжёлыми фигурами, часто пропуская пешку в ферзя или даже мат, чего не было на среднем…

Когда узнал, что есть 3d шутер “kkrieger” размером 96КБ, даже не так удивлялся как тому, что с 80-х годов есть шахматы (пусть даже с упрощёнными правилами) до килобайта, после чего немного подостыл, а вот в свете нейросетей выглядит познавательно)

1 лайк

Ну я б не назвал это амбициозным, будет что то не так - я быстро кину этот проект. Как и я написал на гитхабе, это чисто ради опыта.

У меня полностью противоположный подход: минимум заранее прописанных правил, чтоб у ИИ было макс гибкости. Я ещё хочу на NEAT нейросеть перейти, для этого добавил заголовок в каждый файл-сохранение нейронной сети, типо версия в 2 байта.

Если говорить про шахматы на тостерах - я слышал кто то то ли в 200, то ли в 500 байт уместил шахматы и глупенького бота к нему)))

FastNeuralColor - приложение для автоматического окрашивания изображений с помощью нейронной сети. Результат окрашивания фотографии моего города, сделанной в 1960-х годах.

Хотел бы поблагодарить Сергея(Sun_Serega) за помощь в чтении весов данной нейросети из JSON, а также Jeffery Zhao(https://github.com/zeruniverse) за, собственно, сам JSON и разработку нейросети на Torch. Код опубликован на странице PABCSoft в GitHub: https://github.com/PABCSoft/FastNeuralColor

3 лайка

Разработал небольшое обновление к программе, которое позволило заметно повысить качество окрашивания. Теперь вместо того, что было представлено выше, получаем это:

На этом я останавливаться не собираюсь, сейчас разрабатывается новая версия программы, которая позволит окрашивать абсолютно любые фотографии(текущая версия не предназначена для окрашивания фотографий людей) с помощью лучшей на данный момент архитектуры сети от Ричарда Шенга.

2 лайка

PhotoShop - многофункциональный графический редактор, разработанный и распространяемый фирмой Adobe Systems.

splashscreen

Да-да, это не шутка! Недавно музей компьютерной истории опубликовал исходный код одной из первых версий популярной программы, 1.0.1 версию. Код можно найти тут: http://www.computerhistory.org/atchm/adobe-photoshop-source-code/. Основная его часть написана как раз на Паскале(Турбо, скорее всего), и 15% на ассемблере. Думаю, этот проект вполне можно считать историческим.

3 лайка

PABCNETDownloader.pas
PABCNETDownloader.exe

Это установщик для паскаля.
Основные преимущества над основным:

  • У меня он делает всё за 7 сек (скачивание + установка).
  • Не надо ничего тыкать. Он может только попросить закрыть IDE, если оно будет мешать подменить какие то .dll-ки, а так он работает полностью самостоятельно

Пока не до конца протестирован, но мне удалось установить с помощью него паскаль, после того как я его снёс, так что, вроде, нормально. Потом сделаю репозиторий для него…

Ну и, чтоб он работал - надо чтоб был установлен на компьютере архиватор 7Z. И если он установлен не в Program Files - указать в исходниках другой путь.

1 лайк

А откуда такое ограничение?

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

Понятно.