массивы — эффективный способ попасть в обработку изображений с C ++?

Недавно меня включили в библиотеку программирования opencv для обработки изображений и данных, и, пытаясь заставить программное обеспечение работать, я решил, что мне просто надоело, насколько сложно загрузить библиотеки на мой компьютер , Есть ли другая библиотека или инфраструктура, которая позволяет пользователю взаимодействовать с камерами и обработкой изображений в c ++, но не требует такой утомительной работы для получения и установки, как OpenCV?

Редактировать: причина, по которой мне трудно работать с opencsv, заключается в том, что я не хочу использовать IDE для разработки каких-либо своих программ, я пытаюсь научиться использовать gdb из строки cmd и vim для редактирования.

2

Решение

Вы можете использовать это в 8 шагов

#include <cv.h>
#include <highgui.h>

using namespace cv;

int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );

if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}

namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );

waitKey(0);

return 0;
}

в линуксе

Windows также нужно 8 шагов.

Вы можете вызвать движок MATLAB из C / C ++. Matlab также имеет обработку изображений!

1

Другие решения

Не могли бы вы указать, какую платформу вы используете и с какими проблемами столкнулись?

Я подозреваю, что многие из ваших проблем не связаны с OpenCV как таковыми, а являются общими проблемами, которые могут возникнуть у вас с любой C ++ lib. Например. получить 64-битный компилятор, достойную IDE, скомпилировать OpenCV и при необходимости некоторые из его зависимостей. Это действительно может стать неприятностью. Какую платформу вы используете? Я считаю, что дистрибутив Linux с хорошим репозиторием пакетов облегчает этот путь, поскольку вы можете очень легко настроить необходимые инструменты и часто устанавливать множество сборочных зависимостей через репозиторий без необходимости компилировать их самостоятельно.

Если у вас действительно есть проблемы, связанные с OpenCV, ITK (http://www.itk.org/) вполне может быть хорошей альтернативой.

Лучший,

2

Когда я много занимался обработкой изображений, я имел дело с растровыми изображениями. Прочитайте файл в память и запишите BITMAPFILEHEADER. Существует больше информации, но вы можете просто посмотреть смещение в данных пикселей. Вы также можете использовать Directshow, чтобы получать кадры с веб-камеры.

Создайте оболочку для предоставления некоторых удобных функций, таких как getPixel () и т. Д.

Затем я бы посмотрел статьи, блоги и т. Д., Чтобы узнать, смогу ли я написать алгоритмы самостоятельно, иногда слишком легко передать какое-либо изображение, чтобы сказать функцию FaceTracking (данные ImageData).

0