Category: Программирование

How to convert png pair of RGB and Depth frames into Pointcloud library PCD format

There are a lot of accessible dataset of RGB-D data: http://vision.in.tum.de/data/datasets/rgbd-dataset http://rgbd-dataset.cs.washington.edu/dataset.html http://research.microsoft.com/en-us/projects/7-scenes/ http://www0.cs.ucl.ac.uk/staff/M.Firman/RGBDdatasets/ But usually it stored in PNG format and unfortunately Pointcloud library do not provide built-in function neither for treating it as a PointCloud nor for conversion it to PCD. For my experiments I need to test few points using data with …

Continue reading

Templates in plain C

Templates in ANSI C – simple and convenient method for emulating c++ like templates in plain c. Sample project, which demonstrate this technics can be found at github. So, it is our constraints: ANSI C (no templates, inheritance, overloading, default params etc.) set of almost the same user-defined structures (the common difference – is types …

Continue reading

Что почитать для проф развития программисту

Давно хотел как-то упорядочить свой список книг для внеклассного чтения для повышения проф-пригодности. Эти книжки для тех программистов, которые уже не совсем новички. Возможно уже и не совсем программисты – техлиды/архитекты. И хотят данную ситуацию усугубить. Я из них прочитал еще не все 🙁 Но галочки уже расставляю 🙂 зы. Не думаю, что это нужно/интересно/полезно …

Continue reading

Что почитать начинающему программисту

В связи с тем, что периодически меня спрашивают – что почитать зеленому новичку, для становления на скользкий путь программирования – я решил вот прям тут назвать те книжки, по которым когда-то начинал сам.И которые до сих пор поминаю добрым словом. Будет актуально для linux/windows системных и прикладных разработчиков. Если вы прочитаете и сможете пользоваться этим …

Continue reading

GPU-оптимизация – прописные истины

Ядер много не бывает…   Современные GPU – это монструозные шустрые бестии, способные пережевывать гигабайты данных. Однако человек хитер и, как бы не росли вычислительные мощности, придумывает задачи все сложнее и сложнее, так что приходит момент когда с грустью приходиться констатировать – нужна оптимизацию 🙁 В данной статье описаны основные понятия, для того чтобы было легче ориентироваться …

Continue reading

Введение в GPU-вычисления – CUDA/OpenCL

Введение в GPU-вычисления Видеокарты – это не только показатель фпс в новейших играх, это еще и первобытная мощь параллельных вычислений, оставляющая позади самые могучие процессоры. В видеокартах таится множество простых процессоров, умеющих лихо перемалывать большие объемы данных. GPU-программирование – это та отрасль параллельных вычислений где все еще никак не устаканятся единые стандарты – что затрудняет  …

Continue reading

Практическое введение в компьютерное зрение

компьютерное зрение - сплошь математика

Компьютерное зрение?! Итак, вы поддались веянию времени и задумали освоить компьютерное зрение. Спешу вас разочаровать – до вечера не управитесь. Однако, примерно представить себе что это вообще такое и с какой стороны подходить к изучению, пожалуй, сможете. Компьютерное зрение (иногда его величают машинным) – это набор технологий и алгоритмов из уймы связанных и не очень …

Continue reading

01 – изображение в компьютерном зрении

пример ортографической проекции

Что такое изображение? Изображение – результат преобразования трехмерного пространства в двумерное. Каждый пиксель изображения – величина отраженного сценой светом в направлении камеры (есть и другие типы – MRI, рентгеновское излучение, изображения получаемые со всяких хитрых штуковин). На практике рассматривают два основных вида преобразований: Перспективная проекция (perspective projection) – вы сами создавали такие проекции с помощью …

Continue reading

02 – (пред)обработка изображений

Мона Лиза - все как в тумане - когда не хватает резкости

Обработка изображений Основная причина обработки изображения – сделать его “лучше” с точки зрения человека. Или компьютера. Этот вот обтекаемый термин – “лучше” – может означать что угодно – контрастнее, четче, скрыть неугодные родинки на лице неудачной фотографии или выделить все границы на изображении. Все методы предобработки изображений объединяет одна особенность – на вход они получают …

Continue reading

03 – features – локальные особенности – за что зацепиться взгляду

преобразование - сдвиг

[pullquote align=”left|top” textalign=”center” width=”30%”]Лучше один раз увидеть…[/pullquote] Local features – локальные особенности Изображение, бесспорно, представляет собой самое емкое и лаконичное представление большего объема “нефильтрованной” информации. Нефильтрованной, потому как в большинстве случаев, в рамках определенной задачи, нам вполне достаточно некоей “выжимки” данных: есть на изображении объект интереса или нет, где он расположен, каковы его характеристики. Эпическое …

Continue reading