Portál AbcLinuxu, 30. dubna 2025 09:05

Imagemagick - oříznout do čtverce

7.10.2010 00:09 | Přečteno: 1430× | Linux - readonly debian pro routery

potřebuji pomocí imagemagicku v příkazové řádce hromadně upravovat fotografie. Jedna z požadovaných úprav je, z libovolně velké fotografie s neznámou orientací vytvořit čtvercový vycentrovaný výřez. Trápím se s tím už od rána, strejda google ale už nenabízí žádné nové diskuze/články o imagemagicku. Zdá se mi, nebo to imagemagick neumí? Mogrify mi buď zmenší fotografii a zachová poměr stran, nebo fotografii deformuje. Nepovedlo se mi najít volbu která fotografii ořízne na mnou požadovaný formát. Kdyby nebylo jansé co řeším, tak viz obrázek:

.

Děkuji za nějaký nápad, Johny        

Hodnocení: 50 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Grunt avatar 7.10.2010 00:42 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Imagemagick - oříznout do čtverce
Odpovědět | Sbalit | Link | Blokovat | Admin
RTFM! (konkrétně a ještě konkrétněji):
$ convert input_image.cokoliv -gravity Center  -crop 32x32+0+0 +repage  output_image.cokoliv
kde 32x32 je rozměr výřezu v pixelech. Občas to používám na Fourierův obraz abych dostal dokonalý SincR (alias cihlovou zeď).

BTW: Nějaký důvod proč s tím prudit v blogu a ne v poradně? V zájmu udržení cti bych požádal o transfer.

Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
Johny z Podoli avatar 7.10.2010 00:55 Johny z Podoli | skóre: 26 | blog: rocfdebian
Rozbalit Rozbalit vše Re: Imagemagick - oříznout do čtverce
děkuji za reakci. Právě toto znám, mám, manuál čtu celé dopoledne. Bohužel to v podstatě nedělá to, co chci. Potřebuji, aby to vzalo maximální výšku obrázku, obrázek má třeba 1600x1200, já chci čtverec ale nevím jaké jsou rozměry obrázku. Pak budu generovat čtverec 1200x1200 ... ale prostě já nevím co je na vstupu :( přes toto jsem se neprokousal. Jinak, poradna, jak to mám přesunout?
Můj web o táborech: Letní dětské tábory, Hudební tábor , Můj nový blog na Nul.cz
7.10.2010 06:58 Dadan
Rozbalit Rozbalit vše Re: Imagemagick - oříznout do čtverce
A co vam brani ty rozmery pro crop vypocitat?
7.10.2010 07:18 vlanav | skóre: 24 | blog: Dlouhý den
Rozbalit Rozbalit vše Re: Imagemagick - oříznout do čtverce
ImageMagick umí vytáhnout i rozměr obrázku. Snad plodná diskuze o tomto je třeba tady.

Pak stačí zjistit delší stranu a podle toho provést oříznutí.

A nebo zkus squareup skript od Freda - http://www.fmwconcepts.com/imagemagick/
Grunt avatar 7.10.2010 15:33 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Imagemagick - oříznout do čtverce
Potřebuji, aby to vzalo maximální výšku obrázku, obrázek má třeba 1600x1200, já chci čtverec ale nevím jaké jsou rozměry obrázku.
Aha, tak to je horší. Pokud vím, tak IM geometrie dovoluje manipulovat s obrázkem snad všelijak, ale zrovna zaměňovat výšku za šířku neumožňuje. Takže je potřeba využít doplňování BASHe. V případě, že je potřeba čtverec na výšku:
$ input_image.cokoliv -gravity center -extent `convert input_image.cokoliv -format '%h' info:-` +repage output_image.cokoliv
a na šířku:
$ input_image.cokoliv -gravity center -extent `convert input_image.cokoliv -format '%w' info:-` +repage output_image.cokoliv
Jinak, poradna, jak to mám přesunout?
No teď už nijak (krom toho že by to udělal admin). Tak snad pro příště.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
Grunt avatar 7.10.2010 15:40 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Imagemagick - oříznout do čtverce
A nebo jak říkal nad-řečník, skript squareup od Freda Weinhause. Ten udělá v podstatě to samé a jako bonus má ještě nějaké parametry navíc (ale mělo by stačit jen -m crop, který z toho udělá kostku kolem středu ať už jsou rozměry jakékoliv).
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
7.10.2010 19:15 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Imagemagick - oříznout do čtverce
identify -format "%w" input.img
je znatelne rychlejsie ako zistovat rozmery cez convert
If you hold a Unix shell up to your ear, you can you hear the C.
Grunt avatar 7.10.2010 19:24 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Imagemagick - oříznout do čtverce
identify -format "%w" input.img
je
…naprosto to samé volání té samé funkce s těmi stejnými výsledky.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
7.10.2010 20:59 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Imagemagick - oříznout do čtverce
...a uplne roznym casom behu. Pusti si time.
If you hold a Unix shell up to your ear, you can you hear the C.
7.10.2010 07:14 Ajoj
Rozbalit Rozbalit vše Re: Imagemagick - oříznout do čtverce
Odpovědět | Sbalit | Link | Blokovat | Admin
ak majú všetky vstupné obrázky rovnaké rozmery a všetky výstupy chceš tiež v rovnakom rozmere, tak si to skúšal takto?

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.