Копирование части Simd :: View

я использую Симд :: Просмотр класс от Библиотека Simd. Это контейнер, который содержит изображение. Мне нужно скопировать часть (правый нижний угол) изображения в другое изображение.

Как я знаю, есть функция SIMD :: Копировать что позволяет копировать одно изображение в другое. Но это копирует изображение в целом. Конечно, я мог бы написать свою собственную функцию для этого. Но, может быть, кто-нибудь знает какое-нибудь красивое решение этого вопроса?

1

Решение

Я бы порекомендовал использовать метод Симд :: Просмотр :: Регион. Возвращает ссылку на субрегион на данном изображении.
Таким образом, вы можете легко скопировать этот субрегион с помощью SIMD :: Копировать:

#include "Simd/SimdLib.hpp"
int main()
{
typedef Simd::View<Simd::Allocator> View;
View a(200, 200, View::Gray8);
View b(100, 100, View::Gray8);
// Copying of a part (the rigth bottom corner) of image a to the image b:
Simd::Copy(a.Region(b.Size(), View::RightBottom), b);
return 0;
}
1

Другие решения

Есть функция с именем Симд :: CopyFrame
который принимает источник, ограничивающая рамка и пункт назначения в качестве входных параметров. Используя эту функцию, вы сможете скопировать правый нижний угол вашего входного изображения в другое выходное изображение.

Ограничительная рамка может быть создана с помощью Симд :: Rectangle ().

0

По вопросам рекламы [email protected]