复制 Simd::View 的一部分
Copying a part of Simd::View
我用Simd::View class from Simd Library。它是一个保存图像的容器。我需要将图片的一部分(右下角)复制到另一张图片中。
据我所知,有一个函数 Simd::Copy 允许将一个图像复制到另一个图像。但它将整个图像复制。当然,我可以编写自己的函数来执行此操作。但是也许有人知道这个问题的任何好看的解决方案?
有一个名为Simd::CopyFrame的函数
它接受源、边界框 和目标作为输入参数。使用此功能,您可以将输入图像的右下角复制到另一个输出图像。
可以使用 Simd::Rectangle().
创建边界框
我建议使用方法 Simd::View::Region。它 returns 引用给定图像中的子区域。
因此,您可以使用 Simd::Copy:
轻松复制此子区域
#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;
}
我用Simd::View class from Simd Library。它是一个保存图像的容器。我需要将图片的一部分(右下角)复制到另一张图片中。
据我所知,有一个函数 Simd::Copy 允许将一个图像复制到另一个图像。但它将整个图像复制。当然,我可以编写自己的函数来执行此操作。但是也许有人知道这个问题的任何好看的解决方案?
有一个名为Simd::CopyFrame的函数 它接受源、边界框 和目标作为输入参数。使用此功能,您可以将输入图像的右下角复制到另一个输出图像。
可以使用 Simd::Rectangle().
创建边界框我建议使用方法 Simd::View::Region。它 returns 引用给定图像中的子区域。 因此,您可以使用 Simd::Copy:
轻松复制此子区域#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;
}