我有一张图片,尺寸为 6130x5548像素
,我想将其重新缩放,使最长的一边为32768像素
(然后创建一个7个缩放级别的瓦片金字塔)。我知道使用 vips resize
是这样做的显而易见的方法,因此我尝试了下面的命令行:
vips resize image_in.tif img_rescaled.tif 5.345513866231648
数字5.34551
只是我的x轴
上的比例32768/6130
。如果我想要指定返回图像的确切尺寸(以像素为单位),该怎么做呢?
我尝试使用vips缩略图
来实现此目的,我不知道这是否被建议使用,但它确实起作用。
vips thumbnail image_in.tif img_rescaled.tif 32768
这样可以吗?此外,这两种方法在文件大小方面有很大区别。虽然vips thumbnail
生成了一个大小为2.8Gb
的tif
文件,但vips resize
呼叫却返回一个大小为1.8Gb
的tif
。
尽管这两个图像具有相同的尺寸 32768x29657 像素
、相同的分辨率72dpi
,但它们有不同的位深度
。从vips thumbnail
获取的tif
有24位深度
,而从vips resize
获取的则是16位深度
。原始图像的位深度=16
。
此外,我了解到vips translate
使用的算法对生成的文件大小起着重要作用。请问我是否可以在使用vips thumbnail
和/或位深度
时设置算法呢?
vipsthumbnail
用于制作图像缩略图,因此它会将大多数图像转换为 sRGB 格式以便于 JPEG 保存。 - jcupitt32768像素
,否则我无法制作7个缩放级别。在这种情况下,在第7级,一个单位将对应1个像素。如果有一种方法可以让“每像素单位=0.5”,那么将缩放到“16384像素”也对我来说没问题,但我不认为这是可能的使用vips
。 - Aenaon