Fórum Root.cz

Hlavní témata => Software => Téma založeno: barevnej 09. 06. 2020, 20:11:11

Název: Změna velikosti většího množství fotek pomocí ImageMagick
Přispěvatel: barevnej 09. 06. 2020, 20:11:11
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
 (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é.
Název: Re:Iamgemagic
Přispěvatel: listoper 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.
Název: Re:Změna velikosti většího množství fotek pomocí ImageMagick
Přispěvatel: honzik1111 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.
Název: Re:Změna velikosti většího množství fotek pomocí ImageMagick
Přispěvatel: _Jenda 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.
Název: Re:Změna velikosti většího množství fotek pomocí ImageMagick
Přispěvatel: Standa Blábol 10. 06. 2020, 09:01:48
man xargs a nastav si paralelizaci na pocet jader tvyho CPU
Název: Re:Změna velikosti většího množství fotek pomocí ImageMagick
Přispěvatel: barevnej 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 (http://www.fmwconcepts.com/imagemagick/index.php)
Název: Re:Změna velikosti většího množství fotek pomocí ImageMagick
Přispěvatel: _Jenda 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 (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.
Název: Re:Změna velikosti většího množství fotek pomocí ImageMagick
Přispěvatel: Jan Fikar 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 (https://imagemagick.org/script/mogrify.php)

Jestli to jde použít i pro váš případ nevím, možná -repage
Název: Re:Změna velikosti většího množství fotek pomocí ImageMagick
Přispěvatel: Ondrej Nemecek 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 (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
Název: Re:Změna velikosti většího množství fotek pomocí ImageMagick
Přispěvatel: luvar 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
Název: Re:Změna velikosti většího množství fotek pomocí ImageMagick
Přispěvatel: e3k 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.