image-processing - 转换没有标题的原始图像
问题描述
我有非常大的(20000x20000+)原始图像文件,其中每个像素由 3 个字节表示。我知道每个图像的分辨率。示例(对于 4x4 图像):
+----------------+----------------+----------------+----------------+
| | | | |
| R G B | R G B | R G B | R G B |
| 0x00 0x01 0x02 | 0x03 0x04 0x05 | 0x06 0x07 0x08 | 0x09 0x0A 0x0B |
| | | | |
+----------------+----------------+----------------+----------------+
| | | | |
| R G B | R G B | R G B | R G B |
| 0x0C 0x0D 0x0E | 0x0F 0x10 0x11 | 0x12 0x13 0x14 | 0x15 0x16 0x17 |
| | | | |
+----------------+----------------+----------------+----------------+
| | | | |
| R G B | R G B | R G B | R G B |
| 0x18 0x19 0x1A | 0x1B 0x1C 0x1D | 0x1E 0x1F 0x20 | 0x21 0x22 0x23 |
| | | | |
+----------------+----------------+----------------+----------------+
| | | | |
| R G B | R G B | R G B | R G B |
| 0x24 0x25 0x26 | 0x27 0x28 0x29 | 0x2A 0x2B 0x2C | 0x2D 0x2E 0x2F |
| | | | |
+----------------+----------------+----------------+----------------+
如何将它们转换为BMP
图像?
解决方案
简单的。在终端中使用ImageMagick(或Windows 上的“命令提示符” )。如果您的文件是 1920 像素宽 x 1080 像素高:
magick -size 1920x1080 -depth 8 RGB:YOURFILE output.bmp
不知道为什么有人愿意选择使用 BMP 格式。我更喜欢PNG:
magick -size 1920x1080 -depth 8 RGB:YOURFILE output.png
使用v6 ImageMagickconvert
代替。magick
或者,更简单(因为它不需要安装软件),制作一个标题并将它们转换为Photoshop、GIMP都可以读取的NetPBM文件:feh
{ printf "P6\n%d %d\n255\n" WIDTH HEIGHT ; cat YOURFILE; } > result.ppm
推荐阅读
- python - 如何将列表列表作为单独的列添加到现有数据框中
- ios - 如何在加号图标上快速添加一些操作
- sql - 为什么这个 INTO 语句没有创建新表?
- javascript - document.documentElement.innerHTML 未在页面更改时更新
- java - 为什么 Kerberos/SPNEGO 身份验证不起作用?
- angular - PrimeNG table lazy loading not working properly on setting the property first
- python - Split pandas data frame columns by row value
- java - Occasionally HibernateException
- scala - 列出所有扩展特征的案例对象
- jquery - 将 Owl Carousel 2 与 next.js 一起使用并做出反应