Category: c++

Machine Learning at the edge

Few learnings on migrating computer vision pipeline from python prototype at AWS to cpp in smartphones One of the projects that we have been working was Smart Mirror – we want to build a technology that will hint user how to looks better at the photo. It has bunch of fascinating tasks to tackles – …

Continue reading

Heterogeneous vector in c++ – overview of common approaches

heterogeneous container in c++

So, you are wondering about heterogeneous vector in c++? Maybe even dare to dream about any suitable substitution of such non-existent container? In another word, you need a generic-like container that can store different datatypes. If you just need a quick answer – stick with std::vector < boost::any> approach or read this, If you need …

Continue reading

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

как cv::Mat заполнить массивом из unsigned char

Наши исходные данные: Универсальный контейнер cv::Mat из библиотеки openCV в который мы страстно жаждем запихнуть обычное RGB изображение. RGB изображение к нам приходит от сторонних функций, которые выдают данные в виде отдельных массивов unsigned char для каждого из цветов каналов. В исходном примере это массив элементов PixelRGB из библиотеки PCL, где каждому элементу ставится в …

Continue reading

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

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

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

ostringstream – как на c++ число в строку перевести

Навязший уже на устах вопрос на собеседованиях – как на крестах целое число перевести в строку. Многие начинают вспоминать старые добрые sprintf, itoa. Cпору нет, с некоторыми оговорками их вполне можно использовать для представления целых и не очень чисел в виде массива символов. Но если мы говорим о c++ (именно что си с плюсами) – …

Continue reading