martedì 22 aprile 2014

Raspberry configuration

nel file config.txt ci sono le configurazioni base che vengono utilizzate all'avvio dal Raspberry Pi.

sudo nano /boot/config.txt

per abilitare l'utilizzo del composite quando l'hdmi è staccato ci sono due flag che possono tornare utili, controllare se sono abilitati.

hdmi_force_hotplug

Pretends HDMI hotplug signal is asserted so it appears a HDMI display is attached
hdmi_force_hotplug=1 Use HDMI mode even if no HDMI monitor is detected

hdmi_ignore_hotplug

Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached
hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected 
 
 
 
Riferimento:
http://raspberrypi.stackexchange.com/tags/config.txt/info
http://elinux.org/R-Pi_ConfigurationFile#How_to_edit_from_the_Raspberry_Pi
http://elinux.org/RPiconfig




giovedì 13 febbraio 2014

uso dei limiti per variabili numeriche

da guardare il resto dei limiti dentro limits.h o limits, 
riferimento:
http://stackoverflow.com/questions/15889253/maximum-value-for-unsigned-int

C

#include <limits.h>
unsigned int max_unsigned_int_size = UINT_MAX;

C++

#include <limits>
unsigned int max_unsigned_int_size = std::numeric_limits<unsigned int>::max();
 
 

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...