Temat: Kompresja zdjęć w katalogu Debiana
imagemagick przecież możesz użyć...
zakładam, że:
(a)
możesz zmniejszyć rozdzielczość, kolorystykę (np. zrobić monochromatyczne) lub zwiększyć stopień kompresji JPEG - tak, aby pliki, które mają rozmiar np. 100KB/klatka - zmniejszyć do 20KB/klatka, możesz też usunąć meta-tagi z pliku (np. nazwę kamery) - zrobisz to z powodzeniem w cronie/skrypcie używając polecenia convert...
piszę z pamięci, więc mogłem coś pochrzanić:
convert $NAZWA_PLIKU -resize 400x300 -quality 60% +profile='*' -strip -type GrayScale $NAZWA_MNIEJSZEGO_PLIKU
resize - wiadomo
quality - wiadomo - jpeg 60% (zazwyczaj kamera daje 80-90%)
profile - usuwanie profili kolorystycznych
-strip - usuwamie meta-tagów
type GrayScale - wiadomo
(b)
obrazy z kamery mogą przez długi czas niczym się od siebie nie różnić - np. jeśli kamera służy do monitorowania pustego zazwyczaj pomieszczenia, to kolejne zdjęcia niczym nie będą się różnić i nie ma sensu ich przechowywać...
w takiej sytuacji warto porównywać obrazek aktualny z poprzednim - choćby ich rozmiar - jeśli jest taki sam (albo +/- 10 bajtów) można ignorować (dla pewności raz na pół godziny brać obraz bez tego sprawdzania).
Można też użyć polecenia compare:
compare -metric PSNR $NAZWA_PLIKU $NAZWA_POPRZEDNIEGO_PLIKU roznica.jpg
które w wyniku da plik roznica.gif (mozemy go tu pominąć) oraz wyświetli liczbową informację na temat podobieństwa plików - i na tej podstawie można ustawić próg poniżej którego traktujemy pliki jako różne (liczba powyżej 50 oznacza prawie na pewno identyczny obraz - bo te 50% różnicy, to zapewnią same szumy)
jako $NAZWA_POPRZEDNIEGO_PLIKU możesz też użyć obrazek z "wzorcowym" wyglądem pomieszczenia - czyli jak ktoś coś przestawi, albo coś ukradnie - albo wstawi walizkę z bombą, będzie to widać :)