venerdì 22 novembre 2013

Riviste Computer Vision


Breve lista in continuo aggiornamento di riviste su computer vision, pattern recognition o altro di interessante

Pattern Analysis and Machine Intelligence, IEEE Transactions on
http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=34
2012 if 4.795

International Journal of Computer Visionhttp://www.springer.com/computer/image+processing/journal/11263
2012 Impact Factor 3.623

Machine Vision and Applications
http://www.springer.com/computer/image+processing/journal/138
2012 Impact Factor 1.103

Pattern Recognition Letters
http://www.journals.elsevier.com/pattern-recognition-letters/
2011 IF 2.501
http://journalinsights.elsevier.com/journals/0167-8655/impact

Pattern Recognitionhttp://www.journals.elsevier.com/pattern-recognition/
2011 if 2.632
http://journalinsights.elsevier.com/journals/0031-3203/impact_factor

Machine Learning
2012 if 1.454
http://www.springer.com/computer/ai/journal/10994

martedì 24 settembre 2013

da variabile a testo in c++

Per evitare che queste semplici informazioni vadano perse

per stampare il valore delle variabili numeriche dentro a una stringa:

http://stackoverflow.com/questions/5290089/how-to-convert-a-number-to-string-and-vice-versa-in-c

altrimenti ottimo articolo di cplusplus.com
http://www.cplusplus.com/articles/D9j2Nwbp/

static_cast<std::ostringstream*>( &(std::ostringstream() << it->id << "D") )->str()

martedì 17 settembre 2013

Usare due schermi

come usare un monitor esterno con xrandr

script per gestire due schermi, di cui uno esterno da far diventare principale:
#!/bin/bash
xrandr --output DVI-D-0 --pos 0x0 --primary --size 1920x1080 --output LVDS-0 --right-of DVI-D-0 --auto


xrandr gestisce gli schermi
LVDS-0 è lo schermo del pc portatile
DVI-D-0 è lo schermo del pc al lavoro

con xrandr si possono esplorare gli schermi collegati e fare uno script per le diverse tipologie di connessioni.


Conversioni per sequenze di immagini

conversion from images sequence to video and viceversa.

FFMPEG

from video to image sequence

ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg
 
viceversa, from images to video

ffmpeg -f image2 -i outimage%03d.png -r 12 -qscale 0 foo.avi
 

-sameq does not mean same quality, you have to use -qscale 0 

pay attention to the difference between linux and win operating systems.

reference:
http://www.ffmpeg.org/ffmpeg.html

venerdì 17 maggio 2013

Opencv Mat e GpuMAt

Come si passa da una all'altra, e come associarle, si non sono i termini corretti, ma non è un blog didattico, serve solo per tenere scritte alcune cose base.


cv::Mat image = cv::imread(imageName, CV_LOAD_IMAGE_COLOR);
cv::gpu::GpuMat gpu_image(image);
cv::imshow("image", image);

altro modo (http://stackoverflow.com/questions/9318388/opencv-gpumat-usage)

Mat src;
src = cv::imread("...");
GpuMat dst;
dst.upload(&src);

secondo approccio (http://stackoverflow.com/questions/6965465/how-to-convert-gpumat-to-cvmat-in-opencv)


explicit conversion: Mat -> GPUMat
Mat myMat;
GpuMat myGpuMat;
myGpuMat.upload(myMat); //Via a member function
//Or
GpuMat myGpuMat(myMat) //Via a constructor
 //Use myGpuMat here...

implicit conversion: GpuMat -> Mat
GpuMat myGpuMat;
 Mat myMat = myGpyMat; //Use myMat here...

giovedì 16 maggio 2013

Installa OpenCV ubuntu 12.04

Brevemente per passi come installare opencv su ubuntu 12.04
brevemente perchè questo post è sicuramente da migliorare

Per esempio usiamo ubuntu 12.04
con partizione dati /media/data/qualcosa
con opencv 2.4.5

questa procedura potrebbe andare bene per ogni distro linux

1. scaricare l'ultima versione di opencv dalla pagina ufficiale www.opencv.org

2. il file per linux è un tar.gz, opencv-2.4.5.tar.gz salvarlo in una cartella del filesystem, tenendo conto che questa cartella non va rimossa, meglio se inserita in una parte del filesystem in cui si ha accesso in lettura/scrittura con utente normale, la cartella estratta potrebbe essere /media/data/qualcosa/opencv-2.4.5

3. all'interno della cartella scompattata creare la cartella build, in cui si compila opencv
cd /media/data/qualcosa/opencv-2.4.5
mkdir build
All'interno della cartella build bisogna configurare il makefile, si fa tramite l'utility cmake, deve essere installata nel sistema la versione > 2.8

4. selezionare con 
ccmake ..
le impostazioni per la generazione del makefile che verrà utilizzato per compilare le librerie

5. una volta selezionate tutte le opzioni desiderate premere c per configurare

6. finito premere g per generare il makefile

7. make 

8. sudo make install

9. le librerie sono installate nel sistema operativo

10. sudo ldconfig per configurare pkg config

11. si può controllare la giusta configurazione di pkg config mediante 
pkg-config --libs --cflags opencv

per installare la versione aggiornata, prima di eseguire tutti i passi,
andare nella cartella build delle vecchie librerie e fare
sudo make uninstall

venerdì 3 maggio 2013

Colori in OpenGL

Breve tabella di colori base in OpenGL


glColor3f(0.0, 0.0, 0.0);      /* black */
glColor3f(1.0, 0.0, 0.0);      /* red */
glColor3f(0.0, 1.0, 0.0);      /* green */
glColor3f(1.0, 1.0, 0.0);      /* yellow */
glColor3f(0.0, 0.0, 1.0);      /* blue */
glColor3f(1.0, 0.0, 1.0);      /* magenta */
glColor3f(0.0, 1.0, 1.0);      /* cyan */
glColor3f(1.0, 1.0, 1.0);      /* white */

Riferimento:
OpenGL Guide (Libro Rosso)


Black           glColor3f(0.0, 0.0, 0.0)
Red             glColor3f(1.0, 0.0, 0.0)
Green           glColor3f(0.0, 1.0, 0.0)
Yellow          glColor3f(1.0, 1.0, 0.0)
Blue            glColor3f(0.0, 0.0, 1.0)
Magenta         glColor3f(1.0, 0.0, 1.0)
Cyan            glColor3f(0.0, 1.0, 1.0)
Dark gray       glColor3f(0.25, 0.25, 0.25)
Light gray      glColor3f(0.75, 0.75, 0.75)
Brown           glColor3f(0.60, 0.40, 0.12)
Pumpkin orange  glColor3f(0.98, 0.625, 0.12)
Pastel pink     glColor3f(0.98, 0.04, 0.7)
Barney purple   glColor3f(0.60, 0.40, 0.70)
White           glColor3f(1.0, 1.0, 1.0)

Riferiemnto:
Libro Blu

lunedì 25 marzo 2013

Installare Olivetti d-copia 3501 MF su Ubuntu

o linux in generale, con CUPS.


  1. localhost:631 nella barra degli indirizzi del browser (ovviamente deve essere installato cups con apt-get install ...) 
  2. se è una stampante di rete, bisogna selezionarla tra le stampanti trovate
  3. usare i driver da creare corrispondenti: Olivetti D-Copia 3501MF –> Sharp AR-M351U
Per la stampante/fotocopiatrice Olivetti D-Copia 3501MF infatti sono compatibili questi driver: Sharp AR-M351U. Nel caso in cui si cercano quelli olivetti non si trovano.