Tag: programming

Как работает Kintinious: визуальная одометрия

Одна из ключевых особенностей Kintinious – стабильная работа методов позиционирования камеры в пространстве. Многие ждут когда же они выложат свой код (дада, они собирались это сделать) но мало кто знает что часть кода вобщем-то и так доступна. В частности, одна из ключевых компонент используемых в их работе – набор методов визуальной одометрии – вполне себе …

Continue reading

С++ – обход всех файлов в папке и мапинг в память

Есть куча однотипного файлА, содержимое которых надо последовательно мапить в память, да потом еще и процессить. Есть снипет на прибустованных крестах для сей благородной цели: в текущей директории, в лексикографическом порядке, все файлы с расширением .zzz отображаются в память для чтения, а дальше с ними ничего не происходит – но можно добавить вызов вашей функции. …

Continue reading

Bat-ники для мелочей

Не, ну линуксы рулят конечно и все такое. Однако многие частенько недооценивают неказистую “мощь” батников. А, меж тем, в умелых руках он вполне себе позволяет автоматизировать большую часть всякой рутины. В данном статье будут лежать windows bat-скрипты для разных задач. Как подсчитать число строк в файле bat-скрипт: полный батник для подсчета строк: объяснения тут http://social.technet.microsoft.com/Forums/en-US/ITCG/thread/1867323d-e6c7-440f-83a4-2bdc9b4432d5 …

Continue reading

Ошибка линковки: some_func already defined in some_file.obj или some_file.cpp: multiple definition of some_func

Собираете эдак вы значит какой-нибудь архи-важный проект. Витаете где-то в высоких абстракциях. А то и озадачиваетесь вопросами бизнес-логики. И тут билд валится. С формулировкой: error LNK2005: some_func already defined in some_file.obj или some_file.cpp: multiple definition of some_func(). Вполне может быть, что эту самую функцию some_func() вы лично и в глаза то не видели, и не …

Continue reading

CUDA+Visual Studio-NVidea NSight

…Обыденный при-дедлайновый раш. Лица с ярко выраженными следами напряженных раздумий. Все вокруг словно наэлектрилизовано, но при этом чувствуется легкий привкус надежды на светлое будущее. Тем более вроде бы удалось распараллелить алгоритм на CUDA, осталось все это собрать да слинковать… Итак, вводные: некоторый модуль надо быстро-быстро собрать на студии (Visual Studio 10 Prof если быть точным). …

Continue reading

Как работает Kinect Fusion

Описание алгоритма Kinect Fusion На основе анализа кадров глубины, получаемых с сенсора Kinect (или аналогов) формируется детализированное 3D-представление обозреваемой сцены. Данные обрабатываются в реальном режиме. Высокая скорость и детализация достигается за счет использования для всех расчетов GPU, а также новаторским подходом к применению уже известных алгоритмов. В открытой реализации данного проекта в рамках библиотеке PCL …

Continue reading

pure c – как получить список сетевых интерфейсов

На линуксах. С помощью getifaddrs. Не забыть освобождать память под ifaddrs. Эта функция просто выводит айпи адреса сетевых интерфейсов. Если необходимо получить стастику – надо работать с адресами семейства AF_PACKET.

pure c – как измерить время

Простой снипет на сях для подсчета секунд между двумя замерами: Как мы помним, структура timeval имеет вот такой простецкий вид: а потому в коде добавляем такие строчки: В случае необходимости большей точности имеет смысл учитывать также значение tv_usec из структуры timeval. Ссылки для развития кругозора: 1. Полезнейшие но не особо известные утилиты из sys/time.h (timeradd,timersub,timercmp,…): …

Continue reading

Back to pure C – как распарсить строку без регэкспов

Надо парсить строку. Хочется регеэкспов от Posix – но никто не обещает posix-совместимых систем. Проект сишный и плюшки C++ как то не уместны, потому же boost – нельзя. И вообще с учетом закостенелости процесса развертывания – сторонние либы включать адски не желательно. Под такие ограничения прекрасно подходит функция strtok из ANSI C. Нижеуказанный сниппет производит …

Continue reading

Андроид – создание Custom ListView

Рано или поздно приходит момент, когда набор стандартных виджетов становится тесен. Хочется добавить к базовым возможностям контролов дополнительные опции, способные обогатить интерфейс и улучшить пресловутый UX(User experience). Все что необходимо для расширения функциональности виджетов – немного покопаться в документации. В данном посте описываются основы создания вашего собственного расширенного ListView. Следуя описанному здесь приему вы легко …

Continue reading