LINUX.ORG.RU

Вышла первая версия аналога OpenCV — DCV 0.1

 , dcv,


4

7

Состоялся релиз первой версии компьютерного зрения DCV. DCV является аналогом OpenCV, написанным на языке D. В отличие от OpenCV, DCV — крайне компактная и простая библиотека. В настоящий момент исходные коды системы занимают всего 1 MB, однако, несмотря на свои крайне компактные размеры, DCV поддерживает не только работу со статическими изображениями, но и захват видео.

Настоящая версия DCV фактически является фреймворком для построения систем компьютерного зрения и позволяет легко внедрять в себя новый функционал.

DCV базируется на крайне удобной библиотеке работы с многомерными массивами — ndslice, которая является более функциональным аналогом Numpy из Python.

С примерами работы системы можно ознакомиться в официальном репозитории проекта.

>>> Подробности

★★

Проверено: Klymedy ()
Последнее исправление: Psych218 (всего исправлений: 7)
Ответ на: комментарий от m0rph

OpenCV если не ошибаюсь имеет C++ интерфейс? Вот это и помешало.

Дык, у D, вроде, есть возможность интегрироваться с плюсовым кодом?.. Другое дело, что у «родная» реализация удобнее (если качество соответствует).

DarkEld3r ★★★★★
()
Ответ на: комментарий от luntik2012

Я бы конкретизировал: машинный код, записанный в бинарном виде :)

Akutenshi
()

DCV является аналогом OpenCV, написанным на языке D.

Х-х

В отличие от OpenCV, DCV — крайне компактная и простая библиотека. В настоящий момент исходные коды системы занимают всего 1 MB, однако, несмотря на свои крайне компактные размеры, DCV поддерживает не только работу со статическими изображениями, но и захват видео.

А алгоритмов-то сколько реализовано? С полсотни наберется?

yoghurt ★★★★★
()
Ответ на: комментарий от DarkEld3r

Дык, у D, вроде, есть возможность интегрироваться с плюсовым кодом?

Чтобы интегрироваться с плюсовым кодом нужно иметь реализацию C++ компилятора. Есть конечно костыль Calypso, но что-то я скептически смотрю на такие вещи.

m0rph ★★★★★
()
Последнее исправление: m0rph (всего исправлений: 1)
Ответ на: комментарий от wolph

что это за говно? почему в нормальном языке С++ всё просто работает, а в «продвинутом» надо заклинания матами писать?

i36_zubov
()
Ответ на: комментарий от Andrey_Utkin

слова о «компактных размерах» означают на практике скудный набор реализованных алгоритмов предметной области (ради которых, собственно, библиотека и создаётся). Как вообще это можно подавать в виде достоинства?

Тоже удивился, когда прочитал это. Вроде ж грамотные люди, а получается - велосипедная поделка дипломного уровня.

Stalin ★★★★★
()
Ответ на: комментарий от i36_zubov

Что в твоем «нормальном языке C++» говно вместо шаблонов, говно вместо модульности и что компилится все это часами - тебя не смущает?

wolph ★★
()
Ответ на: комментарий от DarkEld3r

У D есть extern C++ и я сам хотел как-то попробовать его заюзать, но... На практике он не умеет главного - поддержки плюсовых конструкторов с деструкторами. В крестах то объект создается через new/delete - а в D это делается иначе. Если бы вызывать надо было свой крестовый код - то там нужно было бы делать пару функций для создания/деаллокации объекта - что-то типа allocateObj и deleteObj (который возвращает/принимает указатель). Поскольку их нет - напрямую к крестовой openCV не подлинковаться.

wolph ★★
()
Ответ на: комментарий от ioway

А что мешало не велосипедить, а запилить байндинги к OpenCV?

Наверное то, что она как сишная либа нормально юзается из D?

Сишная? Плюсовая с устаревшим C-API, который не развивается и всё ещё не вылетел только из соображений обратной совместимости. Жаль, что разработчики решили уйти от сишного ядра.

gag ★★★★★
()
Ответ на: комментарий от i36_zubov

если вы пишите код, который выглядит как говно и компилится часами, то проблема в вас.

Или в языке) если тебе удалось научиться бегать на костылях, то это не значит что для всех это должно быть самоцелью)

Xroft ★★
() автор топика
Ответ на: комментарий от basp

2basp,

да, собирались, но возникли юридические сложности, не относящиеся к коду. Короче, пока ждем. Компилятор готов

V_P
()
Ответ на: комментарий от i36_zubov

ну да, в твоих неудачах виноваты все вокруг, а особенно С++.

То есть ты признаешь что научился бегать на костылях?)

Xroft ★★
() автор топика
Ответ на: комментарий от Xroft

не понимаю о чем ты. я нигде не писал, что выучил D или Rust.

i36_zubov
()
Ответ на: комментарий от m0rph

Чтобы интегрироваться с плюсовым кодом нужно иметь реализацию C++ компилятора.

Это понятно и про Calypso тоже в курсе, но они вот такое ещё пишут. Мне показалось, что неполная совместимость всё-таки имеется. Нет?

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

Сам я это не пробовал, но вроде бы да, сильно ограниченная поддержка C++ есть.

m0rph ★★★★★
()
Ответ на: комментарий от V_P

А список возможностей или отличий от Julia/Matlab сейчас можете привести?

basp
()
Ответ на: комментарий от wolph

На практике он не умеет главного - поддержки плюсовых конструкторов с деструкторами.

Хм... не совсем понял почему не может.

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

Я, честно говоря, тоже не особо вник. Но в c++ new создает объект в куче, а в D new создает объект и управляет его временем жизни через сборщик мусора. Если в крестах создали функцию/метод, который создаст объект и вернет указатель на него - то все норм, а вот напрямую крестовые конструкторы заюзать нельзя (я по крайней мере не нашел).

wolph ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.