Гистограмма ориентированных градиентов --- В Хаскеле, Йиппи? - PullRequest
2 голосов
/ 21 сентября 2011

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

Какие онлайн-ресурсы можно узнать, как это сделать.В частности, как читать изображения, работать с массивами пикселей и т. Д. Я не возражаю против необходимости создавать инфраструктуру самостоятельно;но я надеюсь, что это своего рода проект, когда после его завершения я смогу создать собственные подпрограммы на языке Haskell для задач научных вычислений.Любые другие мысли / предложения приветствуются и поощряются, даже если вы думаете, что эта идея глупа или вы один из тех странных людей OCaml.Мой фон все Python.Это легко сделать в Python с помощью NumPy, но я хочу изучить Haskell для науки!

Ответы [ 2 ]

2 голосов
/ 22 сентября 2011

Если вы никогда раньше не писали код на Haskell, я бы не рекомендовал начинать с игры с двоичными данными, так как в большинстве случаев вам придется бороться с библиотеками, а не изучать язык сам по себе. Возможно, вместо этого вам следует начать с изучения Learn You a Haskell , Real World Haskell или И еще одного учебника Haskell .

Если вы действительно хотите продолжить этот проект, я рекомендую вам использовать PGM , поскольку это очень простой формат изображения. Недавно я реализовал парсер для PGM в Haskell, и моей самой большой трудностью было понять, как работать с двоичными данными в Haskell. Вот некоторые ресурсы, которые мне помогли:

1 голос
/ 22 сентября 2011

Мой (мастерский) студент реализовал это только на прошлой неделе. Возможно, вы можете проверить подсказки в его реализации HOG . Там же находится реализация процессора реального времени.

Это все еще в стадии разработки.

...