Portaal Portaal Pingviini veeb foorumi pealeht
  Viki  |  IRC  |  Otsing  |  Küsimused ja vastused  |  Profiil  |  Privaatsõnumite vaatamiseks logi sisse  | Logi sisse või Registreeru
<empty>
Vaata järgmist teemat
Vaata eelmist teemat

Postita uus teemaVasta teemale
Autor Sõnum
tarmok
Uus kasutaja
Uus kasutaja



Liitunud: 08.02.2007
Postitused: 10


estonia.gif
postituspostitatud: 10.06.2013, 16:30  postituse pealkiri:  Kahest kataloogist samanimeliste piltide liitmine üheks  

On kaks kataloogi, kummaski 2500 pilti. vaja oleks teha skript, mis võtaks ühe pildi ühest kataloogist, teise pildi teisest kataloogist ja paneks need ppildid kokku üheks pildiks. Ja niimoodi kõigi 2500 pildidga, nii et kokku tekiks 2500 uut pilti, kus kummagi kataloogi pildid on kõrvuti pandud.

Idee:
paremal/pilt00001.jpg
paremal/pilt00002.jpg
paremal/pilt00003.jpg
paremal/pilt00004.jpg

vasakul/pilt00001.jpg
vasakul/pilt00002.jpg
vasakul/pilt00003.jpg
vasakul/pilt00004.jpg

Tulemuseks oleks vaja saada:
kokku/vasakult_paremalt_00001.jpg
kokku/vasakult_paremalt_00002.jpg
kokku/vasakult_paremalt_00003.jpg
kokku/vasakult_paremalt_00003.jpg

Uus pilt on niisiis kaks korda laiem kui vanad, kuna uues on kaks pilti kõrvuti.
mogrify? imagemagick?

Vaatasin siia, aga päris ei saanud aru, mida mina tegema peaks:
Monteerimise näited


akbgf
Vana Pingviin
Vana Pingviin



Liitunud: 07.10.2009
Postitused: 763
Asukoht: Tõravere
Distributsioon: OpenSUSE, Ubuntu
estonia.gif
postituspostitatud: 10.06.2013, 21:23  postituse pealkiri:  (teema puudub)  

Imagemagicku montage teeb töö ära.

montage -tile 2x1 -geometry +1+1 paremal/pilt00001.jpg vasakul/pilt00001.jpg kokku/vasakul_paremal_00001.jpg

Tulemusfaili nime pead skriptis tekitama.


tarmok
Uus kasutaja
Uus kasutaja



Liitunud: 08.02.2007
Postitused: 10


estonia.gif
postituspostitatud: 11.06.2013, 08:44  postituse pealkiri:  (teema puudub)  

akbgf kirjutas:
Imagemagicku montage teeb töö ära.

montage -tile 2x1 -geometry +1+1 paremal/pilt00001.jpg vasakul/pilt00001.jpg kokku/vasakul_paremal_00001.jpg

Tulemusfaili nime pead skriptis tekitama.


Jah, ilus, aga nii kokkukleebitavate piltide nimed kui ka tulemuseks saadava pildi nimi peaks olema kuidagi muutujatena antud. Sest mul on kummaski kataloogis ca 2500 pilti - ma ei viitsi ju 2500 korda käsku anda. Ja kahjuks olen niipalju rumal ka, et ei oska viisakalt bash'i skripti luua...




Viimati muutis tarmok 11.06.2013, 09:56; muudetud 1 kord
tarmok
Uus kasutaja
Uus kasutaja



Liitunud: 08.02.2007
Postitused: 10


estonia.gif
postituspostitatud: 11.06.2013, 09:55  postituse pealkiri:  (teema puudub)  

tarmok kirjutas:
akbgf kirjutas:
Imagemagicku montage teeb töö ära.

montage -tile 2x1 -geometry +1+1 paremal/pilt00001.jpg vasakul/pilt00001.jpg kokku/vasakul_paremal_00001.jpg

Tulemusfaili nime pead skriptis tekitama.


Jah, ilus, aga nii kokkukleebitavate piltide nimed kui ka tulemuseks saadava pildi nimi peaks olema kuidagi muutujatena antud. Sest mul on kummaski kataloogis ca 2500 pilti - ma ei viitsi ju 2500 korda käsku anda. Ja kahjuks olen niipalju rumal ka, et ei oska viisakalt bash'i skripti luua...

Proovisin stiilis
<--
montage -tile 2x1 -geometry +1+1 paremal/*.jpg vasakul/*.jpg kokku/kokku_%05d.jpg
-->
Aga see ei teinud seda, mis vaja. See käis läbi esmalt ühe kataloogi, siis teise kataloogi ja kleepis pildid kokku küll, kuid valesti. Mul oleks vaja, et kindalt oleks alati paaris erinevatest kataloogidest võetud täpselt samanimelised failid, mitte aga samast kataloogist võetud järjestikused failid.


tarmok
Uus kasutaja
Uus kasutaja



Liitunud: 08.02.2007
Postitused: 10


estonia.gif
postituspostitatud: 11.06.2013, 11:02  postituse pealkiri:  (teema puudub)  

tarmok kirjutas:

Proovisin stiilis
<--
montage -tile 2x1 -geometry +1+1 paremal/*.jpg vasakul/*.jpg kokku/kokku_%05d.jpg
-->
Aga see ei teinud seda, mis vaja. See käis läbi esmalt ühe kataloogi, siis teise kataloogi ja kleepis pildid kokku küll, kuid valesti. Mul oleks vaja, et kindalt oleks alati paaris erinevatest kataloogidest võetud täpselt samanimelised failid, mitte aga samast kataloogist võetud järjestikused failid.


Võtsin ette failide ümbernimetamise. Ühe kataloogi failidele lisain faili nime lõppu tähe "a". Seejärel kopeerisin failid kokku ühte kataloogi ja monteerisin nad siis kokku ühest kataloogist. Käsk, mille andisn, oli stiilis

<--
montage -tile 2x1 -geometry +1+1 paremal/*.jpg paremal/*.jpg kokku/kokku_%06d.jpg
-->

Aga selle skriptiga tekkis see häda, et ta kukkus lihtsalt kokku. Ilmselt seepärast, et masinal sai mälu otsa, enne kui töötlus lõpule jõudis. Kümne pildi korral tegi töö ilusti ära, samuti saja pildi korral. Aga kolmsada pilti selliselt luua oli juba liig: ühel hekel tuli ekraanile "Killed" - ja ühtki pilti ei tekkinud. Aga mul on pilte kokku 2x2500=5000 Sad

Ilmselt peaks saavutama, et skript töötaks kenasti tsüklis nii, et samm-sammult keebitaks kakshaaval pilte kokku ja et ei üritataks kõiki pilte mällu võtta ja siis kokku panema hakata...


Valdur55
Vana Pingviin
Vana Pingviin


Vanus: 30
Liitunud: 02.06.2007
Postitused: 640
Asukoht: Tartu
Distributsioon: *buntu
estonia.gif
postituspostitatud: 11.06.2013, 11:52  postituse pealkiri:  (teema puudub)  

Kood:

#!/bin/bash
for q in `seq 0 2`;
do
    for w in `seq 0 9`;
    do
        for e in `seq 0 9`;
        do
            for r in `seq 0 9`;
            do
                #Siia alla tuleb montage käsk
                nr=0$q$w$e$r
                echo $nr
                montage -tile 2x1 -geometry +1+1 paremal/pilt$nr.jpg vasakul/pilt$nr.jpg kokku/vasakul_paremal_$nr.jpg
                #Lõpetab programmi 2500 peal
                if [ $nr -eq 02500 ]
                then
                    exit
                fi
            done
        done
    done
done

See arvu kujunemine meenutab auto spidomeetrit. Kui viimane liigub 9 -> 0 peale, siis liigub järgmine ühe sammu võrra suuremaks.
Ma ei viitsi 00000 seisu kontrollima hakkata. 00000 korral montage viskab teade, et faili pilt00000.jpg ei leitud.


akbgf
Vana Pingviin
Vana Pingviin



Liitunud: 07.10.2009
Postitused: 763
Asukoht: Tõravere
Distributsioon: OpenSUSE, Ubuntu
estonia.gif
postituspostitatud: 11.06.2013, 14:10  postituse pealkiri:  (teema puudub)  

Proovi midagi niisugust, ehk hakkab tööle:
-------------
#!/bin/bash
for j in {1..9}
do
{montage -tile 2x1 -geometry +1+1 paremal/pilt0000$j.jpg vasakul/pilt0000$j.jpg kokku/pilt_0000$j.jpg
}
done
------

Kui nii saab esimesed 9 tehtud, siis
for j in {10..99}
do ..

teeb edasi ja
for j in {100..999} aitab edasi.

Võibolla pead täielikke aadresse kasutama
/usr/bin/montage
/home/???/paremal/pilt??? jne


tarmok
Uus kasutaja
Uus kasutaja



Liitunud: 08.02.2007
Postitused: 10


estonia.gif
postituspostitatud: 11.06.2013, 14:56  postituse pealkiri:  (teema puudub)  

Valdur55 kirjutas:
Kood:

#!/bin/bash
for q in `seq 0 2`;
do
    for w in `seq 0 9`;
    do
        for e in `seq 0 9`;
        do
            for r in `seq 0 9`;
            do
                #Siia alla tuleb montage käsk
                nr=0$q$w$e$r
                echo $nr
                montage -tile 2x1 -geometry +1+1 paremal/pilt$nr.jpg vasakul/pilt$nr.jpg kokku/vasakul_paremal_$nr.jpg
                #Lõpetab programmi 2500 peal
                if [ $nr -eq 02500 ]
                then
                    exit
                fi
            done
        done
    done
done

See arvu kujunemine meenutab auto spidomeetrit. Kui viimane liigub 9 -> 0 peale, siis liigub järgmine ühe sammu võrra suuremaks.
Ma ei viitsi 00000 seisu kontrollima hakkata. 00000 korral montage viskab teade, et faili pilt00000.jpg ei leitud.


Super! See skript tegi töö täpselt nii nagu vaja ära. Ei mingit jama, samm-sammult käidi kataloogid läbi kuni 2455 failini.

Lihtsalt
Kood:

                if [ $nr -eq 02455 ]

rida tuli panna õigeks, et õiges kohas lõpetaks. Ja igatahes minul küll ei olnud probleemi ka pilt00000.jpg korral. Veatult ja õige asi. Seda skripti võib nüüd vastavalt vajadusele modifitseerida: kui numbrikohti on rohkem, siis tsükleid juurde kirjutada ja asi töötab. Suured tänud!


illukas
Vana Pingviin
Vana Pingviin


Vanus: 44
Liitunud: 24.10.2006
Postitused: 2036


norway.gif
postituspostitatud: 11.06.2013, 15:11  postituse pealkiri:  (teema puudub)  

mingi kodutöö?

_________________
https://www.inlink.ee

Näita (aja järgi):      
Postita uus teemaVasta teemale


Vaata järgmist teemat
Vaata eelmist teemat
Powered by phpBB2 Plus based on phpBB © 2001/7 phpBB Group