【发布时间】:2015-03-12 13:41:33
【问题描述】:
我需要一个真正随机的 BMP 来测试各种有损图像压缩算法。理想情况下,这将不依赖任何库并在 Linux CLI 中运行。
它应该在给定某个width 和height 的情况下生成一个随机BMP。
【问题讨论】:
标签: image random command-line-interface
我需要一个真正随机的 BMP 来测试各种有损图像压缩算法。理想情况下,这将不依赖任何库并在 Linux CLI 中运行。
它应该在给定某个width 和height 的情况下生成一个随机BMP。
【问题讨论】:
标签: image random command-line-interface
更新答案 - 2021 年 4 月
这里还有一些关于随机图像的想法:
随机彩色方块
magick -size 8x8 xc: +noise Random -scale 100x100 RandomColouredSquares.png
随机黑白填字游戏
magick -size 8x8 xc:gray +noise Random -threshold 50% -scale 100x100 RandomCrosswords.png
随机灰色模糊
magick -size 8x8 xc:gray +noise Random -resize 100x100 RandomGreyBlur.png
随机彩色模糊
magick -size 5x5 xc: +noise Random -auto-level -resize 100x100 RandomColouredBlur.png
随机盐和胡椒
magick -size 100x100 xc:gray +noise Random -threshold 1% -negate RandomSaltAndPepper.png
重复的彩色图案
magick -size 50x50 xc: +noise random -virtual-pixel tile -blur 0x6 -auto-level -write MPR:tile +delete -size 250x250 tile:MPR:tile RandomRepeatedPattern.png
更新答案 - 2021 年 3 月
如果您想要随机噪声类型的图像,请参阅下面的原始答案,注意如果使用 ImageMagick v7 及更高版本,您应该在这些示例中将 convert 替换为 magick。
如果您想要纯随机颜色的图像,您可以这样做:
magick -size 400x200 xc:"rgb($((RANDOM%255)),$((RANDOM%255)),$((RANDOM%255)))" image.png
样本输出
如果您想要随机大小和随机纯色的图像,您可以将其用于 200..264 像素宽 x 100..132 像素高的图像:
magick -size "$(((RANDOM%64)+200))x$(((RANDOM%32)+100))" xc:"rgb($((RANDOM%255)),$((RANDOM%255)),$((RANDOM%255)))"random.png
样本输出
原答案
您可以使用ImageMagick(默认安装在大多数 Linux 发行版上)生成这样的随机噪声图像:
convert -size 300x200 xc:gray +noise random out.bmp
其中300 是宽度,200 是高度(只是示例)。
其他类型的噪音都可以,运行即可
convert -list noise
输出
Gaussian
Impulse
Laplacian
Multiplicative
Poisson
Random
Uniform
如果噪音对你来说太吵了;-),你可以用
convert -size 300x200 xc:gray -attenuate 0.5 +noise random out.bmp
50% 衰减
以下是不同类型的一些示例:
下面是对应的分布直方图:
【讨论】:
xc:wheat 或khaki, transparent, none 等其他此类选项。