OpenCV: масштабировать и конвертировать данные IplImage

Я полностью новичок в OpenCV, так что, надеюсь, это не слишком глупый вопрос.

В результате операции OpenCV (захвата данных изображения с устройства) я получаю IplImage.

В зависимости от его реального размера я сначала должен масштабировать его, а затем преобразовать в простой, необработанный 24-битный формат RGB.

Для первой операции, я думаю, есть какая-то функция масштабирования. Но как насчет доступа и преобразования необработанных данных изображения? Я не смог найти ничего подходящего в структуре IplImage - по крайней мере, я не смог идентифицировать элемент как указатель на данные изображения.

Любая операция, которая медленно считывает каждый пиксель композиции, не подходит, мне приходится выполнять эту операцию очень часто, и поэтому требуется быстрый доступ к данным.

1 ответ

Решение

Прежде всего, почему вы используете IplImage вместо cv::Mat? Это лучший формат для сохранения изображения.

Для вашей первой операции есть функция изменения размера.

Чтобы преобразовать его в формат RGB (если я не ошибаюсь, OpenCV по умолчанию сохраняет изображения в формате BGR), вы можете использовать функцию cvtColor с кодом (3-й параметр) CV_BGR2RGB,

Или, если вы хотите взять указатель на данные изображения (пиксели), посмотрите этот вопрос.

Другие вопросы по тегам