JavaCpp Эквивалент Матлаба Пермута

Есть ли какой-нибудь эквивалент перестановки для изображения в OpenCV Java Preset? Мое изображение представлено как org.bytedeco.javacpp.Mat. Я использую приведенный ниже пресет JavaCpp OpenCV

<dependency>
    <groupId>org.bytedeco.javacpp-presets</groupId>
    <artifactId>opencv</artifactId>
    <version>3.0.0-1.1</version>
</dependency>

Обновление, после @Miki советов в комментариях, попробовал использовать mixChannel api. Но, похоже, он не выполняет те же функции, что и перестановочный код:

Mat responseMat = new Mat(imageViaNetwork.toByteArray());
Mat image =  imdecode(responseMat, -1);
Mat resizedImage = new Mat(image);
resize(image, resizedImage,new opencv_core.Size(height, width),0,0,  opencv_imgproc.INTER_LINEAR);
Mat transposedResizedImage = new Mat(resizedImage);
int from_to[] = { 0,2, 1,0, 2,1 };
org.bytedeco.javacpp.opencv_core.mixChannels(resizedImage, 1,  transposedResizedImage, 1, from_to, 3 );

Выход:

resizedImage: org.bytedeco.javacpp.opencv_core $ Mat [ширина =300, высота =200, глубина =8, каналы =3]

transposedResizedImage: org.bytedeco.javacpp.opencv_core $ Mat [ширина =300, высота =200, глубина =8, каналы =3]

Я ожидал, что ширина / высота transposedResizedImage будет переставлена ​​в соответствии с порядком в массиве from_to

0 ответов

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