Skannige käsurealt skripti abil fotoalbumit

On selge, et neid on mitu graafilised liidesed fotode skannimiseks, mis pakuvad arvukalt võimalusi. Kuid kui skannitavate fotode arv on suur ja meil pole skannerit, millel oleks automaatne lehesöötur, lähevad asjad raskeks. Üldiselt tuleb skannimiseks teha klõps, salvestamiseks võib-olla klõpsata akna teises otsas ... see võtab aega. Igatahes hea vabandus selle kasutamiseks Käsurida.

See on Rubéni panus, olles seega meie iganädalase võistluse võitja: «Jagage seda, mida teate Linuxi kohta«. Palju õnne Rubén!

Lugesin artikleid teemal Pakkide töötlemine GIMP-iga y Kuidas terminali piltidega manipuleerida, just sel päeval, kui mu sõber Huguito küsis minult fotosid (mille ta oli kaotanud) reisist, mille me tegime 1989. aastal ... (4 rulli 36 fotot! ja muidugi paberil 🙂. See tuletas mulle meelde seda skannimise nõuannet fotod, mille olin unustanud.

Idee on kasutada skripti, et seda võimalikult kiiresti teha:

1.- Pange foto skannerile
2.- Skannimiseks vajutage suvalist klahvi
3.- Korrake protseduuri, välja arvatud juhul, kui vajutatud klahv on näiteks väljumiseks n
4.- Fotod salvestatakse ja nummerdatakse eelnevalt loodud alamkataloogi.

Mis käsk?

„Maagiline“ käsk on skannimispilt, mis on osa SANE'ist. SANE on API, mis pakub standardset juurdepääsu igale pildiseadmele. Sane API on üldkasutatav ja selle lähtekood on saadaval GNU üldise avaliku litsentsi all.

Paigaldamine on lihtne. Iga jaotus toob kaasa oma paketid. Ubuntu (või selle derivaatide) jaoks piisab sünaptilise kasutamisest ning mõistlike ja mõistlike utiliitide installimisest.

Kuidas kasutada?

Kui alati on kõige parem kirjutada terminali "man scan image". Siiski võtame kokku võimalused, mida kasutame.

Avame terminali ja käivitame scanimage -L, et näha saadaolevaid seadmeid:

skannimispilt -L

Minu puhul naaseb see:

seade `xerox_mfp: libusb: 001: 005 'on SAMSUNG ORION multifunktsionaalne välisseade

Selle tulemuse andis mulle multifunktsionaalne Samsung SCX-4200. Kui teil on kõik-ühes seade ja te ei leia seadet, veenduge, et printer pole aktiivne, näiteks ootel oleva printiga.

Väärtust 'xerox_mfp: libusb: 001: 003' kasutatakse käsu scanimage andmiseks valiku -d kaudu, millist seadet kasutada. Kui ühendatud on ainult üks skanner, pole see valik vajalik.

Skannimise käsk skannimisel saadab see saadud pildi standardväljundisse pnm- või tiff-vormingus. Nii et skannimiseks suuname väljundi faili. Ja kui tahame näha, milliseid kirju käsk annab, lisame valiku -v. Kui tahame näha ka toimingu edenemise protsenti, lisame valiku -p.

scanimage -v -p> image.tiff

scanimage: pildi skannimine suurusega 1284x1734 pikslit kiirusega 24 bitti / piksel
scanimage: RGB kaadri omandamine
skannimispilt: min / max hallitaseme väärtus = 69/255
scanimage: lugege kokku 6679368 baiti
Edusammud: 13.8%

Mida see meile annab, kui skannime pilti - abi? Tundub ilmne, see annab käsu jaoks abi. Kuid sellel käsul on eripära. Käsu üldise abi lõppu lisage konkreetsed parameetrid, mida teie skanner aktsepteerib.

skannipilt -abi

Kasutamine: scanimage [OPTION] ...

BLA bla ....

Seadmele `xerox_mfp: libusb: 001: 005 'vastavad valikud:

standard:
--resolutsioon 75 | 100 | 150 | 200 | 300 | 600dpi [150] Määrab skannitud pildi eraldusvõime.
--mode Lineart | Pooltoon | Hall | Värv [Värv] Valib skannimisrežiimi (nt lineaarne, ühevärviline või värviline).
- tõstke esile 30..70% (sammudega 10) [mitteaktiivne] Valge punkti saamiseks valige minimaalne heledus
--source Flatbed | ADF | Auto [Flatbed] Valib skannimisallika (näiteks dokumendisöötur).
geomeetria:
-l 0..215.9 mm (sammudega 1) [0] Ülemine vasak vasak skannimisala asukoht.
-t 0..297.18 mm (sammudega 1) [0] Vasak ülanurgas ja skaneerimisala asukoht.
-x 0..215.9 mm (sammult 1) [215.9] Skannimisala laius.
-y 0..297.18 mm (sammudega 1) [297.18] Skaneerimisala kõrgus.

Seadme DEVICE kõigi võimaluste loendi saamiseks tippige "scanimage --help -d DEVICE".

Saadaolevate seadmete loend:

xerox_mfp: libusb: 001: 005

Siit saame valida võimalused väärtustega, mida saame kasutada.

Näide:

Resolutsioon

–Resolutsioon 150

Modo

–Režiimi värv

Nüüd geomeetria. See on väga kasulik, kuna saame skannerile öelda, et see võtab ainult sektori pildi (kuhu me foto paneme) ja säästame ülejäänud pinna skannimise aja, mille peaksime hiljem ka graafikatoimetajaga lõikama nagu Gimp.

-l 0 alustab skannimist horisontaalselt 0 mm kaugusel skanneri vasakust ülanurgast

-t 0 alustab skannimist vertikaalselt 0 mm kaugusel skanneri vasakust ülanurgast

Pange tähele, et otsustasin foto panna skanneri nurka [koordinaadid (0,0)], kuna seda on lihtsam paigutada. Minu skanneril (A4 formaadis) saan minna vahemikku 0 kuni 215.9 ja t vahemikku 0 kuni 297.18.

Foto laius ja kõrgus. Minu puhul on fotod 13x18cm:

-x 180 lai

-ja 130 kõrge

Seetõttu skaneerib see ainult seda osa, kuhu me oma foto panime. Muidugi, kui lepime kokku, mis on vasak, parem, laius, kõrgus, ülemine ja alumine osa. See sõltub sellest, kuidas te oma skannerit vaatate. Soovitan testida koordinaate ja kohandada need vastavalt teie vajadustele.

Käsu näide võib olla:

scanimage -d xerox_mfp: libusb: 001: 003 -p - režiim Värv --resolutsioon 150 -l 0 -t 0 -x 180 -y 130> image.pnm

Nende valikute abil saaksime juba oma skripti üles ehitada.

Aga enne ...

Tiff või pnm on tihendamata vormingud, nii et meie fotod võtavad tohutu kettaruumi. Siit tuleb käsk ImageMagick convert, mida on selgitatud jaotises Kuidas terminalist pilte töödelda.

Kui saame skannerilt image.pnm, saame selle teisendada JPG-ks:

teisendada image.pnm image.jpg

Kuid enne seda tehke veel üks trikk:

Image.pnm võtab palju ruumi ja pärast image.jpg saamist peaksime selle kustutama. Käsul convert on võimalus, et faili kettalt võtmise asemel teisendab see otse sisendi. See viiakse läbi kriipsuga - faili asemel:

teisendada - image.jpg

Kuna scanimage toimetab skannitud pildi standardväljundisse, teeme "torujuhtme" ja säästame faili image.pnm kirjutamiseks ning seejärel kettalt kustutamiseks kuluvat töötlemisaega.

scanimage -d xerox_mfp: libusb: 001: 003 -p --režiim Värv --resolutsioon 150 -l 0 -t 0 -x 180 -y 130 | teisendada - image.jpg

Nüüd jah, stsenaarium ...

Kirjutame faili järgmise koodi, mida kutsume scan-album.sh ja anname sellele täitmisloa. Selle käivitamisel loob see alamkataloogi, kus asuvad meie skannitud fotod. Ärge unustage parameetri väärtusi vastavalt oma vajadustele muuta.

Lugege kindlasti pärast skripti mõned soovitused.

#! / bin / bash
# Andmed valikute jaoks

VERBOSE = "" # vaata olekusõnumit: "" ei ole; "-v" on jah
PROGRESS = "- p" # näita edusamme "" ei ole; "-p" on jah

# Järgmised parameetrid antakse skanneri scanimage --help abil
#Device: Kui skannereid on ainult üks, pole see vajalik, sisestage DEV = ""
# DEV = "xerox_mfp: libusb: 001: 003"

DEV = ""
MODE = "- režiimi värv"
RESOLUTION = "- eraldusvõime 600 dpi"

#geomeetria, nt 130x180 mm foto
#location vasakus ülemises tipuskanneris

x0 = 0
y0 = 0
laius = 180
kõrge = 130

#options:

L = "- l $ x0"
T = "- t $ y0"
WIDTH = "- x $ laius"
HIGH = "- ja $ kõrge"

# kõik parameetrid koos:

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

# Albumi nimi. Looge oma nimega alamkataloog:

ALBUM = "Pühad_1989"

# Turvalisuse huvides ei tee ma midagi, kui kataloog on juba olemas

mkdir $ ALBUM

kui ["$?" = "1"]; siis
väljumine 100
fi

# Fotode baasnimi (alamkataloogis)

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

funktsiooniküsimus () {
viskas välja "----------------------------------------------- - ------------------------- "
miss
viskas välja "******************************"
kaja "Skannitud fotode arv:" "$ I"
viskas välja "******************************"
echo -e "Vajutage: n * n väljumiseks * Teine skannimiseks vajalik klahv."
miss
loe -s -n1 -p "Kas skannida uut fotot?" klahvivajutus
miss
}

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

# Alusta

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

I = xnumx

küsimus

samal ajal ["$ keypress"! = "n"]; tegema
# uus foto skannimiseks
olgu "I + = 1"
NIMI = $ FILE $ I
scanimage $ PARAMETERS | teisenda - $ NAME.jpg
küsimus
tehtud

Ettepanekud

Kõrge eraldusvõimega kasutamine nagu näites muudab skannimise palju aeglasemaks.

Pidage meeles, et kui soovite fotot paberile printida, vajate umbes 250 punkti tolli kohta. Kui fotode skaneerimise mõte on printida originaaliga samas suuruses, piisab eraldusvõimest 250. Nende kuvamiseks ekraanil piisab 100-st. Suurem eraldusvõime teeniks suurendust.

Fotode virn tuleks eelnevalt ette valmistada, nii et iga foto oleks paremal küljel. Sel viisil ei raiska aega skannerisse panek, et neid ei pöörataks 180º.

Geomeetriliste parameetrite mõõtmiste kalibreerimisel on soovitatav jälgida, millises asendis originaal asetada, nii et digipildid ei oleks "tagurpidi". Minu puhul läheb foto alumine osa mööda l-telge.

Kui teil on ühendatud ainult üks skanner, ärge kasutage valikut -d. Skriptis on see DEV = »»

Mõnikord muutuvad numbrid jaotises "xerox_mfp: libusb: 001: 003" ja peate seda iga kord skripti kasutamisel muutma.

Skripti kopeerimisel jälgige sidekriipse ja jutumärke. Sidekriipsud (miinusmärk) võivad olla üks või kaks koos, sõltuvalt valikust; jutumärgid on klaviatuuri topelt, need pole mõned tekstitöötlusprogrammid nagu LibreOffice.

Turvalisuse huvides ei loo skript kataloogi, kui see on juba olemas, et mitte faile üle kirjutada, kui neid on. Sel juhul see peatub.

Kui fotoalbum on vana, ärge kahetsege, kui piltidest on palju juukseid, kortse või kilo: -


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   Juuniorid Calderon DIJO

    Vau! Milline hea tuto!
    Ma ei arvanud, et bash xD-ga saab nii palju asju teha
    Iga päev õpid rohkem!
    Täname panuse eest!
    Mul pole skannerit, aga kui ma selle saan, proovin seda kohe lo

  2.   maamats DIJO

    Kui hästi aitab see panus mind märkmete digiteerimisel palju, loodan, et see paraneb, mõtlen funktsioonile kogu faili skannimiseks ja skannitud objekti suuruse tuvastamiseks, kuna sõltume pildimagist, see võib teisendatakse djvu või pdf-failiks ja luuakse seega üks fail. Noh, ma lihtsalt rabelesin edasi. Suur aitäh panuse eest.

  3.   armastan seda DIJO

    Milline suur rõõm, suur aitäh jagamise eest.