Вопрос по image, bash – ImageMagick обрезать огромное изображение

4

Я пытаюсь создать плитку из огромного изображения, скажем, 40000x40000

Error: User Rate Limit Exceeded

как только я становлюсь больше, он в конечном итоге использует много памяти, и компьютер умирает.

Я добавил опции ограничения, но они, кажется, не влияют

у меня есть монитор, но он не помогает, так как скрипт просто тормозит и блокирует машину

кажется, что он просто набирает скорость, как 50 гигабайт диска подкачки, а затем убивает машину

Error: User Rate Limit Exceeded

вот сценарий до сих пор

 #!/bin/bash
 file=$1
 function tile() {
 convert -monitor -limit memory 2GiB -limit map 2GiB -limit area 2GB $file -scale ${s}%x -crop 256x256 \
 -set filename:tile "%[fx:page.x/256]_%[fx:page.y/256]" \
 +repage +adjoin "${file%.*}_${s}_%[filename:tile].png"
 }
 s=100
 tile
 s=50
 tile

Ваш Ответ

4   ответа
7

Error: User Rate Limit ExceededError: User Rate Limit ExceededError: User Rate Limit Exceeded.

Error: User Rate Limit Exceeded

Error: User Rate Limit ExceededError: User Rate Limit ExceededError: User Rate Limit Exceeded

$ time convert -crop 512x512 +repage huge.tif x/image_out_%d.tif
real    0m5.623s
user    0m2.060s
sys     0m2.148s
$ time vips dzsave huge.tif x --depth one --tile-size 512 --overlap 0 --suffix .tif
real    0m1.643s
user    0m1.668s
sys     0m1.000s
Error: User Rate Limit Exceeded
7

Error: User Rate Limit ExceededError: User Rate Limit ExceededError: User Rate Limit Exceeded

The trick to getting it working is the .mpc formatError: User Rate Limit Exceeded

Error: User Rate Limit Exceeded50000x50000 .tifError: User Rate Limit ExceededmyLargeImg.tifError: User Rate Limit Exceeded

 convert -monitor -limit area 2mb myLargeImg.tif myLargeImg.mpc

Error: User Rate Limit Exceededtiler.shError: User Rate Limit Exceeded

 #!/bin/bash
 src=$1
 width=`identify -format %w $src`
 limit=$[$width / 256]
 echo "count = $limit * $limit = "$((limit * limit))" tiles"
 limit=$((limit-1))
 for x in `seq 0 $limit`; do
   for y in `seq 0 $limit`; do
     tile=tile-$x-$y.png
     echo -n $tile
     w=$((x * 256))
     h=$((y * 256))
     convert -debug cache -monitor $src -crop 256x256+$w+$h $tile
   done
 done

Error: User Rate Limit Exceeded

 sh ./tiler.sh myLargeImg.mpc
2

Error: User Rate Limit ExceededError: User Rate Limit ExceededError: User Rate Limit ExceededError: User Rate Limit ExceededError: User Rate Limit Exceeded

Error: User Rate Limit Exceededin.tifError: User Rate Limit Exceeded

#!/bin/bash
width=40000
height=40000
y=0
while [ $y -lt $height ]
do
   x=0
   while [ $x -lt $width ]
   do
      outtif=t_${y}_$x.tif
      gdal_translate -srcwin $x $y 256 256 in.tif $outtif
      let x=$x+256
   done
   let y=$y+256
done

Error: User Rate Limit ExceededError: User Rate Limit Exceeded.

Error: User Rate Limit Exceeded abe
1

Error: User Rate Limit Exceeded

Error: User Rate Limit ExceededveryError: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded abe
Error: User Rate Limit Exceeded abe
Error: User Rate Limit Exceeded

Похожие вопросы