convert
từ ImageMagick
Ví dụ: thang độ xám 2x3 8 bit:
printf '\x00\xFF\x88\xFF\x00\xFF' > f
Sau đó:
convert -depth 8 -size 3x2+0 gray:f out.png
Lệnh giải thích:
-depth 8
: mỗi màu có 8 bit
-size 2x3+0
: 2x3
hình ảnh. +0
có nghĩa là bắt đầu ở offset 0 trong tệp. Nếu có các tiêu đề siêu dữ liệu, bạn có thể bỏ qua chúng với phần bù.
gray:f
: tệp đầu vào là f
và định dạng gray
, như được định nghĩa tại http://www.imagemagick.org/script/formats.php Ký hiệu kỳ lạ này được sử dụng vì ImageMagick thường xác định định dạng từ tiện ích mở rộng, nhưng ở đây không có tiện ích mở rộng .
Vấn đề bây giờ là làm thế nào để xem đầu ra. Một chỉ dẫn eog
:
eog out.png
không tốt lắm vì hình ảnh quá nhỏ và nếu bạn phóng to nhiều sẽ eog
sử dụng thuật toán hiển thị trộn các pixel, tốt hơn cho hầu hết các hình ảnh, nhưng không phải trong trường hợp của chúng tôi. Tôi tìm thấy hai khả năng:
gimp out.png
. Trình chỉnh sửa hình ảnh phải hiển thị từng pixel.
convert out.png -scale 300x200 out2.png
. -scale
là cần thiết thay vì -resize
, theo mặc định -resize
mixels pixel giống như nhiều eog
.
Đầu ra:
Ví dụ RGB:
printf '\xFF\x00\x00\x00\xFF\x00\x00\x00\xFF' > f
convert -depth 8 -size 3x1+0 rgb:f out.png
Đã thử nghiệm trên Ubuntu 16.04, ImageMagick 6.8.9.