c++ - 复制 Simd::View 的一部分
问题描述
我使用Simd Library中的Simd::View类。它是一个包含图像的容器。我需要将图像的一部分(右下角)复制到另一个图像中。
据我所知,有一个功能Simd::Copy允许将一个图像复制到另一个图像。但它会整体复制图像。当然,我可以编写自己的函数来做到这一点。但也许有人知道这个问题的任何好看的解决方案吗?
解决方案
我建议使用方法Simd::View::Region。它返回对给定图像中子区域的引用。因此,您可以使用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;
}
推荐阅读
- android - How to call SupportMapFragment in non activity files i.e. RecyclerView Adapter
- kubernetes - 如何在没有负载均衡器的情况下设置 kubernetes nginx 入口?
- elasticsearch - Kubernetes 上的 Filebeat - 排除命名空间不起作用
- android - “我可以追踪特定模块吗?使用 Frida”
- javascript - 这两种 glob 模式有什么区别吗?
- django - 使用验证手动渲染 Django 表单
- jsf - 子文件夹中的 xhtml 文件不运行
- html - 测试滚动条可见误报
- php - 使用 PHP 从其他驱动器打开或下载 Zip 文件
- php - getenv('SENDGRID_API_KEY') 在某些情况下失败