【问题标题】:Extracting the "n"th image out of a bmp (or other image type)从bmp(或其他图像类型)中提取第“n”个图像
【发布时间】:2011-08-03 18:01:33
【问题描述】:

我有一张由 13 张图片组成的 bmp 图片,每张图片的大小都是 17x17。除了通过 gimp 将此图像分解为 13 个不同的图像之外,还有什么是从该列表中“提取”第 n 个图像(最好是 char 数组)以便我可以使用它的好方法? 我已经尝试将指针向前推进 n*17*17 像素,除了它忽略标题之外,我认为这应该可以工作 - 不幸的是,它没有。

建议?

请注意,我已将其标记为 C C++,因为我很高兴看到/听到任何一种语言的解决方案。

【问题讨论】:

  • 您是否尝试过为此使用 OpenCv?我确信它有可以帮助你的功能。
  • 我正在尝试找到一种方法来做到这一点,而不会引入对任何外部库的任何依赖,真的。虽然我确信这是在重新发明轮子,但我很乐意被建议一个函数,然后查看其中使用的代码
  • 你的方法有什么“不起作用”?我们需要知道您是如何布置图像数据的。
  • 图像似乎显示垃圾数据。至于我是如何布局的,它是一个标准的 char* 数组,ARGB 格式(虽然我不认为 BMP 可以有 alpha 通道?)。
  • 图像有大量可能的布局,尚不清楚您的图像的确切外观。它是瓷砖的“条带”,每个都与下一个共享一个边界吗?如果是这样,那条带是水平的还是垂直的?它也可以是任意数量的矩形布局,但会浪费一些空间。

标签: c++ c image bitmap image-extraction


【解决方案1】:

也许使用existing tools for tile cropping

convert paged.gif  +gravity -crop 32x32  tiles_%d.gif

Imagemagick 带有一个可用于多种语言的 API,包括 C、C++、php、perl 等 相关功能似乎是

CropImageToTiles

【讨论】:

  • +1 用于切片裁剪建议。我仍然想要一种从内部 C/++ 内部提取图像而不需要额外 API 的方法,但是很好的建议。 :)
  • 标记为答案 - 这确实解决了我的问题,因此可能值得其他人注意。
猜你喜欢
  • 1970-01-01
  • 2020-11-17
  • 2021-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-27
相关资源
最近更新 更多