2016-04-07 3 views
1

Я разрабатываю общедоступный API Windows Phone 8.0, который на самом деле является оберткой на C++, написанной на C++/CX, и должен взаимодействовать с C# (или C++/CX). Мне нужно вернуть объект-матрицу (который первоначально является OpenCV cv::Mat) клиенту. Попытки найти матричный тип платформы WP не увенчались успехом.Есть ли тип платформы для Windows 8.0?

Каким должен быть лучший способ представить объект матрицы клиенту?

Существует, по-видимому, типы Windows::Foundation::Numerics::Matrix4x4 и Matrix3x2, но они доступны только на Win 10, а не на WP 8.0.

Я думал об использовании Windows::UI::Xaml::Media::Matrix, но я не хочу использовать объект XAML.

Есть ли какой-то общий тип матрицы на платформе WP 8.0, который я могу использовать, или я должен просто вернуть массив двойников или что-то еще?

+0

'Windows :: UI :: Xaml :: Media :: Matrix' доступен для WP 8.1, а не WP 8.0. Вы все равно можете использовать его для вдохновения и определить свой собственный тип матрицы так же, как 'public value struct' в C++/CX. – IInspectable

+0

О да. Вы правы в отношении 'Windows :: UI :: Xaml :: Media :: Matrix'. Так что это определенно не может быть и речи. Теперь я должен решить, буду ли я использовать 'public value struct' или' Platform :: Array '. –

ответ

0

OpenCV резюме :: Mat первоначально

п-мерный плотный численный одноканальный или многоканальный массив? К сожалению, встроенный класс не существует независимо от версии Windows.

Matrix4x4 и типы Matrix3x2

они полностью отличаются от cv::Mat. Они сопоставимы с cv::Matx<float, 4, 4> и cv::Matx<float, 3, 2>

Если вам нужны только малые матрицы, такие как float 4x4, где размер известен во время компиляции, вы можете брать структуры от MonoGame. Лицензия в порядке, это MS-PL, однако качество не идеально: обычно работает, но приготовьтесь исправить некоторые случайные ошибки.

Смежные вопросы