Некоторые функции Image Processing Toolbox™ позволяют вам сгенерировать автономный код С, код С, который зависит от предварительно скомпилированной, специфичной для платформы разделяемой библиотеки или обоих. Генерация кода требует MATLAB® Coder™.
Для полного списка функций Image Processing Toolbox, которые поддерживают генерацию кода, смотрите, что Функции Поддерживают Генерацию кода. Для примера использования генерации кода смотрите, Генерируют Код для Обнаружения объектов.
Image Processing Toolbox предлагает три типа поддержки генерации кода.
Функции, которые генерируют автономный код С. Можно включить этот код в приложения, которые работают на многих платформах, таких как процессоры ARM. Пример функции, которая поддерживает только автономный код С, immse
.
Функции, которые генерируют код С, который зависит от специфичной для платформы разделяемой библиотеки (.dll
, .so
, или .dylib
). Использование разделяемой библиотеки сохраняет оптимизацию эффективности в этих функциях, но это ограничивает целевые платформы, на которых можно запустить этот код только на платформы, которые могут разместить MATLAB. Чтобы просмотреть список серверных платформ, смотрите системные требования. Пример функции, которая поддерживает только код С, который зависит от разделяемой библиотеки, bwpack
.
Функции, которые генерируют автономный код С или код С, который зависит от разделяемой библиотеки, в зависимости от которой целевой платформы вы задаете в параметрах конфигурации MATLAB Coder. Если вы задаете типовой MATLAB Host Computer
целевая платформа, затем эти функции генерируют код С, который зависит от разделяемой библиотеки. Если вы задаете какую-либо другую целевую платформу, то эти функции генерируют автономный код С. Пример функции, которая поддерживает и автономный код С и код С, который зависит от разделяемой библиотеки, regionprops
.
Схема иллюстрирует различие между генерацией кода С и генерацией кода, который пользуется разделяемой библиотекой.
В сгенерированном коде каждая поддерживаемая функция тулбокса имеет то же имя, аргументы и функциональность как ее дубликат Image Processing Toolbox. Чтобы использовать генерацию кода с функциями обработки изображений, выполните эти шаги:
Запишите свою функцию MATLAB или приложение, как вы обычно были бы, с помощью функций из Image Processing Toolbox.
Добавьте %#codegen
директива компилятора в конце функциональной подписи. Эта директива дает анализатору кода MATLAB команду диагностировать проблемы, которые запретили бы успешную генерацию кода.
Откройте приложение MATLAB Coder (MATLAB Coder), создайте проект и добавьте ваш файл в проект. В приложении можно проверять готовность кода для генерации кода. Например, ваш код может содержать функции, которые не включены для генерации кода. Сделайте любые модификации требуемыми для генерации кода.
Сгенерируйте код путем нажатия на Generate на Сгенерировать Кодовой странице приложения MATLAB Coder. Можно принять решение сгенерировать файл MEX, разделяемую библиотеку, динамическую библиотеку или исполняемый файл.
Даже если вы решили все проблемы готовности, идентифицированные MATLAB Coder, вы можете все еще столкнуться с проблемами сборки. Проверка готовности только смотрит на функциональные зависимости. Когда вы пытаетесь сгенерировать код, MATLAB Coder может обнаружить шаблоны кодирования, которые не поддерживаются для генерации кода. Просмотрите сообщение об ошибке и измените ваш код MATLAB, пока вы не получите успешную сборку.
codegen
(MATLAB Coder) | MATLAB Coder (MATLAB Coder)