Bildbehandling

Jag har massor med bilder. Jag döper om alla bilder så de har datum och tid som filnamn. Sedan skalar jag ned bilderna till max 2K bredd och sist sorterar bilderna i mappar om år/årmånad/årmånaddag.
Här kommer några scripts som fungerar bra på Ubuntu 16.04 LTS.

Mapp med kommandon

Skapa en mapp i din hemmamapp

mkdir bin

Lägg till mappen i din path

export PATH=$PATH:/home/{ditt användarnamn}/bin

Namnge bilder

nano renameimages

#!/bin/bash
jhead -n%Y%m%d-%H%M%S *.jpg
jhead -n%Y%m%d-%H%M%S *.JPG

chmod +x renameimages

Skala bilder

nano scaleimages2048

#!/bin/bash
mkdir 2048
mogrify -path ./2048/ -resize 2048x -quality 90 *.jpg

chmod +x scaleimages2048

nano scaleimages1024

#!/bin/bash
mkdir 1024
mogrify -path ./1024/ -resize 1024x -quality 80 *.jpg

chmod +x scaleimages1024

Sortera bilder

nano sortimages.php

<?php
  $fileNames = glob('*.jpg');
  foreach ($fileNames as $fileName)
  {
    if ($fileName === '.' || $fileName === '..') {
      continue;
    }

    $year = substr($fileName, 0, 4);
    $yearMonth = substr($fileName, 0, 6);
    $date = substr($fileName, 0 ,8);
    if ((int) $date != $date) {
      continue;
    }

    $path = $year . '/' . $yearMonth . '/' . $date;
    if (is_dir($path) === false) {
      mkdir($path, $mode = 0777, $recursive = true);
    }

    rename($fileName, $path . '/' . $fileName);
  }

Kör allt

Ta en kopia av mappen med bilder du vill hantera. Bra att ha utifall.
Gå in i bildmappen och kör:

renameimages
scaleimages2048
cd 2048
php /home/{ditt användarnamn}/bin/sortimages.php

Beroenden

Scripten använder jhead, mogrify, php. Om du saknar någon av dem behöver de installeras.

sudo apt-get install jhead
sudo apt-get install mogrify
sudo apt-get install php

Vad som inte fungerar

Scripten hoppar över alla filer som saknar ändelsen .jpg eller .JPG
Du behöver konvertera PNG bilder och andra format innan de kan användas av scripten. Jag har få PNG filer och använder GIMP för att manuellt spara om bilderna till jpg.
Scripten är bara för bilder. Det går inte att byta namn på mp4, mov och andra videoformat. Detta är ett problem för mig och jag tittar på lösningar. OM jag löser det så kommer det en artikel på hemsidan.

Slutligen

Med de här scripten har jag hanterat tusentals bilder. Med en 2K bredd så blir bilden tillräckligt stor för att titta på, och samtidigt får man ned bildstorleken.
En av mina bildmappar har 22748 bilder och tar upp 14,4 Gb. Det blir i medeltal 664 Kb per bild.

Bilder som kommer direkt från telefonen kan ha 3-5K bredd. Medan datorskärm/TV klarar 2K bredd. Genom att skala ned bilderna till 2K bredd blir det mycket snabbare att visa dem.

Varje dags-mapp kompletterar jag med en beskrivning vad mappen innehåller. Till exempel: 20171224-Julafton-Stockholm

Comments are closed.

CharZam