Как я могу получить доступ к пикселям изображения JPEG в виде трехмерного массива, как мы делаем в MATLAB? - PullRequest
2 голосов
/ 10 апреля 2010

Я хочу обработать изображение в C ++. Как получить доступ к трехмерному массиву, представляющему изображение JPEG, как это сделано в MATLAB?

Ответы [ 2 ]

5 голосов
/ 10 апреля 2010

Я бы предложил использовать OpenCV для этой задачи; Документация C ++ доступна здесь . Соответствующая (я полагаю) структура данных, которую вам нужно использовать, это Point3_ class , которая представляет трехмерную точку на изображении.

3 голосов
/ 10 апреля 2010

Ну, я никогда не использовал MATLAB для такой задачи, но в C ++ вам понадобится некоторая библиотека загрузчиков JPEG, такая как OpenIL или FreeImage . Это позволит вам получить доступ к изображению в виде байтовых массивов.

Функция FreeImage FreeImage_GetBits содержит подробный пример в документации о том, как получить доступ к данным на канал на канал.

Кстати, если вы планируете выполнять обработку изображений в C / C ++, я бы посоветовал вам воспользоваться Insight Segmentation and Registration Toolkit и OpenCV .

...