Visualizzazione post con etichetta ImageMagick. Mostra tutti i post
Visualizzazione post con etichetta ImageMagick. Mostra tutti i post

venerdì 13 marzo 2020

Imagemagick cache

cercando di fare una gif animata partendo da circa 500 jpg ad alta risoluzione mi sono imbattuto nell'errore cache resources exhausted che non avevo mai incrociato

La soluzione per ovviare all'esaurimento della cache (sia di memoria Ram che di disco) e' editare
il file /etc/ImageMagick-6/policy.xml modificando i valori sottostanti


  <policy domain="resource" name="memory" value="4GiB"/>
  <policy domain="resource" name="map" value="512MiB"/>
  <policy domain="resource" name="width" value="16KP"/>
  <policy domain="resource" name="height" value="16KP"/>

martedì 7 maggio 2019

Pdf ed Audiveris

Audiveris riesce ad importare in modo nativo i file pdf ma spesso ha problemi con le risoluzioni al di sotto dei 300 dpi



Un trucco e' quello di usare ImageMagick per convertire il pdf in png forzando una risoluzione di 300 dpi (anche se non e' nativa)

convert -density 300 ArchieGeneAmmonsC.pdf -quality 90 ArchieGeneAmmonsC300.png

mercoledì 27 gennaio 2016

Normalizzazione immagini con ImageMagick

Per un software di elaborazione immagini, in particolare per calcolare gli spostamenti da un video in timelapse, avevo la necessita' di confrontare immagini con la stessa inquadratura ma con condizioni di luce differenti, possibilmente con procedura batch

Una soluzione e' stata trovata negli script a questo link http://www.fmwconcepts.com/imagemagick/, in particolare bcmatch

Le immagini di riferimento sono state riprese a 11 minuti di distanza all'alba. L'elaborazione ha tentato di riportare le condizioni di illuminazione di Immagine 2 a quelle di Immagine 1 (per confronto si puo' vedere la posizione della Luna nel cielo)

Il risultato non e' perfetto ma decisamente buono e conforme per quanto richiesto dal successivo software di elaborazione.
Immgine 1

Immagine 2

Immagine 2 normalizzata ad Immagine 1

La stessa cosa con le immagini pero' a scala di grigio

Immagine 1 scala grigio

Immagine 2 scala grigio


Immagine 2 normalizzata ad Immagine 1


lunedì 17 settembre 2012

Esempio Mandelbrot con PngWriter/C

In questo esempio l'insieme di Mandelbrot e' stato generato con la libreria PngWriter che permette di creare dei file png.



La libreria e' gia' pacchettizzata in Debian ed e' di facile utilizzo perche' si deve solo indicare le dimensioni del file png da creare e le coordinate del punto da disegnare con il colore in formato RGB

Per compilare il file di esempio deve essere utilizzata la seguente stringa

g++ mand_png.c -o mand_png `freetype-config --cflags` -I/usr/local/include  -L/usr/local/lib -lpng -lpngwriter -lz -lfreetype

I file del progetto sono reperibili a questo Link


Per visualizzare il file png da linea di comando puo' essere utile installare il pacchetto ImageMagick e digitare

display mandelbrot.png

-------------------------------------------------

#include <pngwriter.h>

#define SCREEN_WIDTH 1024
#define SCREEN_HEIGHT 768

float re_min = -2.0;
float im_min = -1.2;

float re_max = 1.0;
float im_max = 1.2;

double iterazioni = 255;


double r;

float a,b;
float x,y,x_new,y_new;

int test;

int k,j,i;

int keypress = 0;


int main() {

pngwriter png(SCREEN_WIDTH, SCREEN_HEIGHT,0,"mandelbrot.png");

float re_factor = (re_max-re_min);
float im_factor = (im_max-im_min);

for (i=0;i<SCREEN_HEIGHT;i++)
{
for (j=0;j<SCREEN_WIDTH;j++)
{
a = re_min+(j*re_factor/SCREEN_WIDTH);
b = im_min+(i*im_factor/SCREEN_HEIGHT);

x = 0;
y = 0;
test = 0;

for (k=0;k<iterazioni;k++)
{
x_new = (x*x)-(y*y)+a;
y_new = (2*x*y)+b;
if (((x_new*x_new)+(y_new*y_new))>4)
{
r = k%2;
png.plot(j,i, r, r, r);
break;
}
x = x_new;
y = y_new;
}
       
}

}
png.close();
return(0);

}

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...