GNU Guile-CV 0.2.0

good-penguin.png

  Guile-CV — это библиотека компьютерного зрения для языка программирования GNU Guile, являющаяся привязкой к библиотеке Vigra, написанной на C++, и работающая через прослойку Vigra C. Guile — реализация языка Scheme, диалекта Lisp.

Изменения в новой версии:

  • Изменения пути установки

      Теперь они таковы:

    $(datadir)/guile-cv
    $(libdir)/guile-cv/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache
    
      Где $(datadir) соответствует /usr/share/share, а $(libdir) — /usr/share/lib; если указан ключ --prefix] — /ваш/префикс/share и /ваш/префикс/lib соответственно. $(GUILE_EFFECTIVE_VERSION) заменяется на номер стабильной версии Guile, с которой собирается Guile-CV — например, 2.2.

      Это изменение делает GNU Guile-CV совместимой со Стандартами Кодирования GNU, но оно также подразумевает, что, если не использовать описанные ниже опции конфигурации — придётся дополнить переменные %load-path и %load-compiled-path двумя вышеуказанными путями соответственно, чтобы Guile нашёл установленные модули исходников и скомпилированные файлы Guile-CV (подробности см. в руководстве по установке Guile-CV).

  • Новые опции конфигурации

      Добавлена опция конфигурации --with-guile-site, использующаяся для явного указания необходимости установки исходных модулей Foliot в директорию site Guile-Gnome, а скомпилированных файлов — в директорию site-ccache (подробности см. в руководстве по установке Foliot).

      Опция будет учтена, только если указана в виде:

    --with-guile-site=yes
    

    (в таком случае, разумеется, нет нужды расширять переменные Guile %load-path и %load-compiled-path)

  • Интерфейсные изменения

      Матричная версия метода im-multiply сделана процедурой im-mtimes. Скалярная версия переименована в im-times и оставлена методом. То же самое произошло с методом im-multiply: он разбит на матричную процедуру im-mtimes-channel и скалярный метод im-times-channel. Матричные методы im-divide и im-divide-channel преобразованы в процедуры im-mdivide и im-mdivide-channel соответственно.

  • Новые интерфейсы:
    • im-times (поэлементный)
    • im-times-channel
    • im-divide (поэлементный)
    • im-divide-channel
    • im-texture
    • im-glcp
    • im-glcm
  • Улучшения производительности:
    • im-mtimes
    • im-mtimes-channel
    • im-mdivide
    • im-mdivide-channel
    • im-invert
    • im-invert-channel

      Эти матричные операции (точнее говоря, соответствующая функциональность ядра f32vector-*) вынесены в libguile-cv. Учтите, что все выделения памяти — не считая некоторых локальных переменных в функциях — до сих пор происходят через Scheme.

      Благодаря этому выносу умножение маленькой чёрно-белой матрицы с изображением 515×515 самой на себя стала выполняться за 0.028 секунд вместо 29.51 — в 134 раза быстрее.

>>> Источник

©  Linux.org.ru