Skannaa valokuva-albumi komentosarjalla komentoriviltä

On selvää, että niitä on useita graafiset käyttöliittymät valokuvien skannaamiseen, jotka tarjoavat lukuisia vaihtoehtoja. Mutta kun skannattavien valokuvien määrä on suuri eikä meillä ole automaattista arkinsyöttölaitetta, asiat vaikeutuvat. Yleensä sinun on tehtävä napsautus skannataksesi, toinen napsauttamalla ehkä ikkunan toisessa päässä tallentaaksesi ... se vie aikaa. Joka tapauksessa, hyvä tekosyy käyttää Komentorivi.

Tämä on Rubénin panos, joten siitä tulee yksi viikoittaisen kilpailumme voittajista: «Jaa mitä tiedät Linuxista«. Onnittelut Rubén!

Luin artikkeleita Eräkuvien käsittely GIMP: llä y Kuinka käsitellä kuvia päätelaitteesta, juuri sinä päivänä, kun ystäväni Huguito pyysi minulta valokuvia (jotka hän oli menettänyt) matkalta, jonka teimme vuonna 1989 ... (4 rullaa 36 kuvaa! ja tietysti paperilla 🙂. Se muistutti minua tästä vinkistä valokuvien skannaamiseen. jonka olin unohtanut.

Ajatuksena on käyttää komentosarjaa tekemään se mahdollisimman nopeasti:

1.- Laita valokuva skanneriin
2.- Skannaa painamalla mitä tahansa näppäintä
3.- Toista toimenpide, paitsi jos painettu näppäin on esimerkiksi ”n” poistuaksesi
4. - Valokuvat tallennetaan ja numeroidaan ennalta määritettyyn alihakemistoon.

Mikä komento?

Maaginen komento on skannauskuva, joka on osa SANE-ohjelmaa. SANE on API, joka tarjoaa standardoidun pääsyn kaikkiin kuvantamislaitteisiin. Sane-sovellusliittymä on julkinen ja sen lähdekoodi on saatavana GNU General Public License -lisenssillä.

Asennus on helppoa. Jokainen jakelu tuo paketit. Ubuntulle (tai sen johdannaisille) riittää, että käytetään synapticia ja asennetaan järkevät ja järkevät utilit.

Kuinka käyttää?

Kuinka aina parasta on kirjoittaa terminaaliin "man scanimage". Tiivistämme kuitenkin käyttämämme vaihtoehdot.

Avaamme päätelaitteen ja suoritamme scanimage -L nähdäksesi käytettävissä olevat laitteet:

skannauskuva -L

Minun tapauksessani se palaa:

laite `xerox_mfp: libusb: 001: 005 'on SAMSUNG ORION -monitoimilaite

Tämä on tulos, jonka se antoi minulle Samsung SCX-4200 -monitoimilaitteellani. Jos sinulla on monitoimilaite etkä löydä laitetta, varmista, että tulostin ei ole aktiivinen, esimerkiksi odottavan tulostuksen kanssa.

Arvoa 'xerox_mfp: libusb: 001: 003' käytetään kertomaan scanimage-komennolle, mitä laitetta käytetään -d-vaihtoehdon kautta. Jos vain yksi skanneri on kytketty, tätä vaihtoehtoa ei tarvita.

Kun scanimage-komento skannaa, se lähettää tuloksena olevan kuvan vakiolähtöön pnm- tai tiff-muodossa. Joten skannaamiseksi ohjaamme lähdön tiedostoon. Ja jos haluamme nähdä, mitä viestejä komento antaa, lisätään -v-vaihtoehto. Jos haluamme myös nähdä prosessin etenemisprosentin, lisätään -p-vaihtoehto.

scanimage -v -p> image.tiff

scanimage: skannaa kuvan, jonka koko on 1284x1734 pikseliä, 24 bittiä / pikseli
scanimage: RGB-kehyksen hankinta
scanimage: min / max harmaatason arvo = 69/255
scanimage: lue yhteensä 6679368 tavua
Edistyminen: 13.8%

Mitä se antaa meille, jos skannaamme kuvaa - apua? Vaikuttaa ilmeiseltä, se antaa apua komennolle. Mutta tällä komennolla on erikoisuus. Lisää komennon yleisen ohjeen loppuun skannerisi hyväksymät parametrit.

skannauskuva -apua

Käyttö: scanimage [OPTION] ...

Blaa blaa....

Laitteelle `xerox_mfp: libusb: 001: 005 'tarkoitetut vaihtoehdot:

vakio:
--resoluutio 75 | 100 | 150 | 200 | 300 | 600dpi [150] Asettaa skannatun kuvan tarkkuuden.
--moodi Lineaarinen | Rasteri | Harmaa | Väri [Väri] Valitsee skannaustilan (esimerkiksi lineaarinen, yksivärinen tai väri).
--korosta 30..70% (vaiheissa 10) [ei aktiivinen] Valitse vähimmäiskirkkaus saadaksesi valkoisen pisteen
--source Flatbed | ADF | Auto [Flatbed] Valitsee skannauslähteen (kuten asiakirjansyöttölaitteen).
geometria:
-l 0..215.9 mm (vaiheissa 1) [0] Vasen yläkulma x skannausalueen sijainti.
-t 0..297.18 mm (vaiheissa 1) [0] Vasen yläosa ja skannausalueen sijainti.
-x 0..215.9 mm (vaiheissa 1) [215.9] Skannausalueen leveys.
-y 0..297.18 mm (vaiheissa 1) [297.18] Skannausalueen korkeus.

Kirjoita `` scanimage --help -d DEVICE '' saadaksesi luettelon kaikista DEVICE-vaihtoehdoista.

Luettelo käytettävissä olevista laitteista:

xerox_mfp: libusb: 001: 005

Täältä voimme valita vaihtoehdot arvoineen, joita voimme käyttää.

esimerkiksi:

päätöslauselma

–Ratkaisu 150

Modo

–Tilan väri

Nyt geometria. Tämä on erittäin hyödyllistä, koska voimme kertoa skannerille, että se poimii vain yhden sektorin kuvan (mihin laitamme valokuvan), ja säästämme muun pinnan skannauksen ajan, jonka meidän tulisi myös leikata myöhemmin graafisella editorilla, kuten hahmona Gimp.

-l 0 aloittaa skannauksen vaakasuunnassa 0 mm: stä skannerin vasemmassa yläkulmassa

-t 0 aloittaa skannauksen pystysuunnassa 0 mm: n päältä skannerin vasemmasta yläkulmasta

Huomaa, että päätin laittaa kuvan skannerin kulmaan [koordinaatit (0,0)], koska se on helpompi sijoittaa. Skannerissani (A4-kokoinen) voin siirtyä välillä 0 - 215.9 ja t - välillä 0 - 297.18.

Valokuvan leveys ja korkeus. Minun tapauksessani kuvat ovat 13x18cm:

-x 180 leveä

ja 130 korkealla

Siksi se skannaa vain osan, johon laitamme valokuvamme. Tietenkin, jos olemme yhtä mieltä vasemmasta, oikeasta, leveydestä, korkeudesta, ylä- ja alaosasta. Se riippuu siitä, miten katsot skanneriasi. Ehdotan testaamaan koordinaatit ja mukauttamaan ne tarpeidesi mukaan.

Esimerkki komennosta voi olla:

scanimage -d xerox_mfp: libusb: 001: 003 -p --mood Väri --resoluutio 150 -l 0 -t 0 -x 180 -y 130> image.pnm

Näillä vaihtoehdoilla voimme jo rakentaa käsikirjoituksemme.

Mutta ennen…

Tiff tai pnm ovat pakkaamattomia muotoja, joten valokuvamme vievät valtavan levytilan. Tässä tulee ImageMagick convert -komento, joka on selitetty kohdassa Kuvien käsittely päätelaitteesta.

Jos saamme skannerista image.pnm, voimme muuntaa sen JPG: ksi:

muuntaa image.pnm image.jpg

Mutta ennen tekemistä toinen temppu:

Image.pnm vie paljon tilaa, ja meidän pitäisi poistaa se saatuamme image.jpg-tiedostomme. Muunna-komennolle on vaihtoehto niin, että sen sijaan, että ottaisit tiedoston levyltä, se muuntaa suoraan vakiotulon. Tämä tapahtuu viivalla - tiedoston sijasta:

muuntaa - image.jpg

Koska scanimage toimittaa skannatun kuvan vakiolähtöön, teemme "putkijonon" ja säästämme käsittelyaikaa, joka kuluu image.pnm-tiedoston kirjoittamiseen ja poistamiseen levyltä.

scanimage -d xerox_mfp: libusb: 001: 003 -p --mood Väri --resoluutio 150 -l 0 -t 0 -x 180 -y 130 | muuntaa - image.jpg

Nyt kyllä, käsikirjoitus ...

Kirjoitamme seuraavan koodin tiedostoon, jota kutsumme scan-album.sh ja annamme sille suoritusluvan. Kun suoritamme sen, se luo alihakemiston, jossa skannatut valokuvamme ovat. Muista muokata parametriarvot tarpeidesi mukaan.

Muista lukea joitain ehdotuksia komentosarjan jälkeen.

#! / Bin / bash
# Vaihtoehtojen tiedot

VERBOSE = "" # katso tilaviesti: "" ei ole; "-v" on kyllä
PROGRESS = "- p" # näytä edistyminen "" ei ole; "-p" on kyllä

# Seuraavat parametrit annetaan scanimage --help-toiminnolla skannerille
#Device: Jos skannereita on vain yksi, se ei ole välttämätöntä, laita DEV = ""
# DEV = "xerox_mfp: libusb: 001: 003"

DEV = ""
MODE = "- tilan väri"
RESOLUTION = "- resoluutio 600 dpi"

#geometria, esim. 130x180 mm kuva
#location vasemman yläkulman kärkiskannerissa

x0 = 0
y0 = 0
leveys = 180
korkea = 130

#options:

L = "- l $ x0"
T = "- t $ y0"
WIDTH = "- x $ leveys"
HIGH = "- ja $ korkea"

# kaikki parametrit yhdessä:

PARAMETERS = "$ DEV $ VERBOSE $ PROGRESS $ MODE $ RESOLUTION $ L $ T $ WIDTH $ HIGH"

# Albumin nimi. Luo nimesi alihakemisto:

ALBUM = "Lomat_1989"

# Turvallisuuden vuoksi en tee mitään, jos hakemisto on jo olemassa

mkdir $ ALBUM

jos ["$?" = "1"]; sitten
poistu 100
fi

# Valokuvien perusnimi (alaosassa)

FILE = "./" $ ALBUM "/" $ ALBUM "_foto_"

funktiokysymys () {
heitti pois "------------------------------------------------ ------------------------- "
kaiku
heitti pois "******************************"
kaiku "Skannattujen valokuvien määrä:" "$ I"
heitti pois "******************************"
echo -e "Paina: n * n poistuaksesi * Toinen skannattava avain."
kaiku
Lue -s -n1 -p "Skannataanko uusi valokuva?" näppäimen painallus
kaiku
}

#####################################################

# Alkaa

#####################################################

I = 0

kysymys

kun ["$ keypress"! = "n"]; tehdä
# uusi skannattava valokuva
anna "I + = 1"
NAME = $ FILE $ I
scanimage $ PARAMETERS | muuntaa - $ NAME.jpg
kysymys
tehty

Ehdotuksia

Esimerkin kaltaisten korkean resoluution käyttäminen tekee skannauksesta paljon hitaampaa.

Muista, että jos haluat tulostaa valokuvan paperille, tarvitset noin 250 pistettä tuumalla. Jos valokuvien skannaamisen ajatuksena on tulostaa ne samankokoisina kuin alkuperäiset, riittää resoluutio 250. Jos haluat nähdä ne 100-näytöllä olevassa näytössä, riittää. Suurempi tarkkuus palvelisi suurennusta.

Pino valokuvia tulee valmistaa etukäteen siten, että jokainen valokuva on oikealla puolella. Tällä tavalla et tuhlaa aikaa asettamalla sitä skanneriin, jotta niitä ei käännetä 180 astetta.

Kun kalibroidaan geometristen parametrien mittauksia, on suositeltavaa tarkkailla, mihin asentoon alkuperäinen on sijoitettava, jotta digitaalikuvat eivät ole “ylösalaisin”. Minun tapauksessani kuvan alaosa kulkee l-akselia pitkin.

Jos sinulla on vain yksi skanneri kytkettynä, älä käytä -d-vaihtoehtoa. Komentosarjassa se on DEV = »»

Joskus "xerox_mfp: libusb: 001: 003" -kohdan numerot muuttuvat, ja sinun on muokattava niitä joka kerta, kun käytät komentosarjaa.

Varo väliviivoja ja lainauksia kopioidessasi komentosarjaa. Väliviivat (miinusmerkki) voivat olla yksi tai kaksi yhdessä vaihtoehdosta riippuen; lainausmerkit ovat näppäimistön kaksoiskappaleita, jotkut tekstinkäsittelijät, kuten LibreOffice, eivät ole niitä.

Turvallisuuden vuoksi komentosarja ei luo hakemistoa, jos se on jo olemassa, jotta tiedostoja ei korvata, jos sellaisia ​​on. Siinä tapauksessa se pysähtyy.

Jos valokuva-albumi on vanha, älä kadu, jos kuvista puuttuu hiuksia, ryppyjä tai kiloja: -


Artikkelin sisältö noudattaa periaatteita toimituksellinen etiikka. Ilmoita virheestä napsauttamalla täällä.

3 kommenttia, jätä omasi

Jätä kommentti

Sähköpostiosoitettasi ei julkaista.

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Juniorit Calderon dijo

    Vau! Mikä hyvä tuto!
    En usko, että bash xD: llä voitaisiin tehdä niin monia asioita
    Joka päivä opit lisää!
    Kiitos panoksesta!
    Minulla ei ole skanneria, mutta jos saan sen, kokeilen sitä heti 🙂

  2.   juntti dijo

    Kuinka hyvin tämä panos auttaa minua paljon muistiinpanojeni digitoinnissa, toivon sen parantuvan, ajattelen toimintoa, joka skannaa kokonaisen tiedoston ja havaitsee skannatun objektin koon, koska olemme riippuvaisia ​​kuvamaagista, se voi voidaan muuntaa djvu: ksi tai pdf: ksi ja luoda siten yksi tiedosto. No, minä vain sekaisin. Paljon kiitoksia panoksesta.

  3.   rakastan sitä dijo

    Mikä suuri ilo, kiitos paljon jakamisesta.

bool (tosi)