Změna velikosti většího množství fotek pomocí ImageMagick

Asi zde jsou až příliš chytří lidé ale snad neurazím otázečkou.

Mám hromadu fotek a potřebuji aby byli přesný čtverec. Nechci fotku oříznout ale přidat bílé okraje, někdy nahoře a někdy dole.

Stahl jsem si http://www.fmwconcepts.com/imagemagick/aspect/index.php

použiji příkaz ve složce co mám ten "aspect" a jednu fotografii a provedu příkaz

Kód: [Vybrat]
./aspect 500x500 -m pad -c white *.jpg *.jpg
to funguje správně, původní fotografii včetně nezměněného názvu změní na novou kdy přidá logicky bílé pruhy a fotky vycentruje. SUPER

Pak to samé zkusím když je ve složce fotek víc a už to nefunguje.

Kód: [Vybrat]
./aspect 500x500 -m pad -c white *.jpg *.jpg

--- TOO MANY ARGUMENTS WERE PROVIDED ---
Nechce se mi stovky fotek dělat po jedné.
« Poslední změna: 09. 06. 2020, 21:58:41 od Petr Krčmář »


Re:Iamgemagic
« Odpověď #1 kdy: 09. 06. 2020, 20:57:53 »
Napad me:
Kód: [Vybrat]
find . - name '*.jpg' -exec ./aspect 500x500 -m pad -c white {} {} \;
Ale psal sem to po pameti na telefonu...
Za vysledek ani ztratu fotek nerucim.

Re:Změna velikosti většího množství fotek pomocí ImageMagick
« Odpověď #2 kdy: 09. 06. 2020, 22:58:15 »
nebo

Kód: [Vybrat]
for img in *.jpg; do ./aspect 500x500 -m pad -c white $img $img; done

Ale psal sem to po pameti na telefonu...
Za vysledek ani ztratu fotek nerucim.

_Jenda

  • *****
  • 656
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Změna velikosti většího množství fotek pomocí ImageMagick
« Odpověď #3 kdy: 10. 06. 2020, 01:12:42 »
nebo

Kód: [Vybrat]
for img in *.jpg; do ./aspect 500x500 -m pad -c white $img $img; done

Ale psal sem to po pameti na telefonu...
Za vysledek ani ztratu fotek nerucim.
Doporučuji dávat kolem proměnných, které obsahují kdovíco (názvy souborů od uživatele), uvozovky. A možná předtím nastavit IFS na \n pokud jsou v názvech souborů mezery. Pokud jsou v názvech souborů newlines, tak máš smůlu tak jako tak.

Re:Změna velikosti většího množství fotek pomocí ImageMagick
« Odpověď #4 kdy: 10. 06. 2020, 09:01:48 »
man xargs a nastav si paralelizaci na pocet jader tvyho CPU


Re:Změna velikosti většího množství fotek pomocí ImageMagick
« Odpověď #5 kdy: 10. 06. 2020, 09:38:49 »
Pánové mockrát děkuji, obě verze fungují. Jen ta první v terminálu remcá s nějakými errory ale i tak svou práci udělá. Druhá verze udělá to samé ale bez remcání a je to o něco rychlejší.

Opravdu moc děkuji za pomoc. Skoro by se hodilo kdyby tento návod byl na této stránce aby věděli jak používat tyto skvělé nástroje hromadně. http://www.fmwconcepts.com/imagemagick/index.php

_Jenda

  • *****
  • 656
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Změna velikosti většího množství fotek pomocí ImageMagick
« Odpověď #6 kdy: 10. 06. 2020, 15:55:38 »
Skoro by se hodilo kdyby tento návod byl na této stránce aby věděli jak používat tyto skvělé nástroje hromadně. http://www.fmwconcepts.com/imagemagick/index.php
Ne, protože to je standardní funkce shellu a vůbec nijak to nesouvisí s těmi skripty.

Re:Změna velikosti většího množství fotek pomocí ImageMagick
« Odpověď #7 kdy: 11. 06. 2020, 09:32:31 »
Ale ImageMagick má svůj nástroj na zpracování více souborů naráz: mogrify

https://imagemagick.org/script/mogrify.php

Jestli to jde použít i pro váš případ nevím, možná -repage

Re:Změna velikosti většího množství fotek pomocí ImageMagick
« Odpověď #8 kdy: 11. 06. 2020, 12:39:00 »
Ale ImageMagick má svůj nástroj na zpracování více souborů naráz: mogrify

https://imagemagick.org/script/mogrify.php

Jestli to jde použít i pro váš případ nevím, možná -repage

1+ za mogrify - mogrify může nahradit leckterý skript, který volá imagemagick

luvar

  • ***
  • 142
    • Zobrazit profil
    • E-mail
Re:Změna velikosti většího množství fotek pomocí ImageMagick
« Odpověď #9 kdy: 12. 06. 2020, 08:14:56 »
Pokial sa naozaj jedna o vacsie mnozstvo suborov, odporucal by som pouzit nejaku paralelnu vec. Mogrify sa mi zda, ze vyuziva iba jedno jadro (a dnes je zvykom mat viac jadier).

Napriklad:
Kód: [Vybrat]
parallel convert {} {.}.jpg ::: *.png
# respektive:
parallel ./aspect 500x500 -m pad -c white {} {} ::: *.jpg

e3k

  • ***
  • 114
    • Zobrazit profil
    • E-mail
Re:Změna velikosti většího množství fotek pomocí ImageMagick
« Odpověď #10 kdy: 14. 06. 2020, 20:31:16 »
jo ten paralell je dobry nastroj na na spracovanie medii. oni tie linux utility niekedy nemaju implementovane spracovavanie viacerych objektov a pusti sa to cez paralel a zrazu procesor ide na 100%. odporucam tiez.