c# - 将大型矢量图像转换为二进制矩阵的快速方法
问题描述
我有复杂的矢量图像,需要使用 c# 以高精度转换为二进制矩阵(一种光栅化)。目前我通过在位图中绘制矢量图像并读取内部位图数组来做到这一点。然后我将此数组转换为二进制矩阵,其中 1 表示相应像素具有特定颜色,而 0 表示不是。当我直接访问内部位图数组时,速度很快并且允许使用Parallel.For
问题是我需要获得非常高清的图像矩阵(50000x25000 或更多)。因此,我必须绘制每个矢量图像,将其分成几个部分,因为不支持这种大小的位图。因为我有很多图像要转换,所以速度很慢。我正在寻找一种快速的方法来做到这一点而不会失去精度(理想情况下甚至增加它)。我需要将此功能集成到 ac# 应用程序中。
解决方案
我终于使用了 Gdal rasterize 工具,将多边形作为 shapefile 传递,它工作得很好而且很快。
推荐阅读
- matlab - 如何使用“fprintf”在 txt 文件中显示输出并将其保存而不是 Matlab 中的命令窗口?
- javascript - 如何在 Next.js 中获取 _app.js 的状态?
- kubernetes - 如何在“多容器 pod”的容器上执行“带参数的命令”?
- firebase - 是否可以从 Firebase 存储提供 Brotli 压缩文件?
- ansible - 安装的 WinRM 版本不支持传输 [u'']
- python - 在显示视频时保持代码运行
- ios - 根据部分更改 UICollectionView 布局
- python - Python:在不指定值的情况下启动整数
- python - 基于两个数据框列构建计数字典
- amazon-web-services - 向 ECS 服务添加标签 - InvalidParameterException