Oct 25, 2010
Oct 21, 2010
HDR, High Dynamic Range
Etiquetes:
Fotografia
En una fotografia amb gran contrasto de llum, la imatge final (si no la tractem) ha d'esser un compromís entre les zones clares i les fosques.
Afortunadament moltes càmeres actuals ens permeten fer fotografies amb contrast intel·ligent, però si volem un control més acurat del resultat podem usar la següent tècnica:
Programem la càmera de tal manera que automàticament ens faci 3 fotografies, la primera seria la 'correcta' la següent
-2EV i la tercera +2EV (mireu-vos el manual de la vostra càmera, si és porfesional o prouser, segur que trobeu com fer-ho i si no ho podeu fer a mà).
Així doncs, tenim 3 fotografies una 'correcta' un altre 'clara' i un altre 'fosca'. La fotografia ideal seria una composició de les 3. De la 'correcta' agafem les mitges llums, de la 'clara' les penombres i de la 'fosca' les zones d'alta lluminositat.
Finalment, per obtenir la foto ideal, usem internet on, gràcies a la feina de genis altruistes, trobem eines com el següent programa: EnfuseGUI.
Properament publicaré exemples. De moment podeu veure aquest de HDR a Wikipedia
A la Canon EOS 400D/Rebel XT podem canviar aquest ajust al menú AEB (Exp. Sec. en castellà) i si a més posem la càmera en modus ràfega (Continuous shooting), quan premem el disparador tindrem una ràfega de 3 (i només 3) fotografies cada una exposada tal com hem definit al menú AEB.
Afortunadament moltes càmeres actuals ens permeten fer fotografies amb contrast intel·ligent, però si volem un control més acurat del resultat podem usar la següent tècnica:
Programem la càmera de tal manera que automàticament ens faci 3 fotografies, la primera seria la 'correcta' la següent
-2EV i la tercera +2EV (mireu-vos el manual de la vostra càmera, si és porfesional o prouser, segur que trobeu com fer-ho i si no ho podeu fer a mà).
Així doncs, tenim 3 fotografies una 'correcta' un altre 'clara' i un altre 'fosca'. La fotografia ideal seria una composició de les 3. De la 'correcta' agafem les mitges llums, de la 'clara' les penombres i de la 'fosca' les zones d'alta lluminositat.
Finalment, per obtenir la foto ideal, usem internet on, gràcies a la feina de genis altruistes, trobem eines com el següent programa: EnfuseGUI.
Properament publicaré exemples. De moment podeu veure aquest de HDR a Wikipedia
A la Canon EOS 400D/Rebel XT podem canviar aquest ajust al menú AEB (Exp. Sec. en castellà) i si a més posem la càmera en modus ràfega (Continuous shooting), quan premem el disparador tindrem una ràfega de 3 (i només 3) fotografies cada una exposada tal com hem definit al menú AEB.
Informació Exif de les fotografies
Etiquetes:
Exif,
Fotografia
Usant el programa ExifTool podem consultar i modifica la informació Exif de les fotografies.
Per usar-lo, només cal reneombrar el fitxer '.exe' amb els paràmetres que volguem. Per exemple:
si renombrem el fitxer ExifTool.exe a:
ExifTool(-k).exe Presenta les instruccions de funcionament
ExifTool(-a -u -g1 -k).exe Presenta totes les etiquetes Exif del fitxer
ExifTool(-all= -k).exe Esborrem totes les etiquetes Exif del fitxer
Un cop renombrat el ExifTool, arrosseguem amb el mouse les fotografies sobre l'executable (en Windows, en altres sistemes operatius ho desconec), i ens presentarà una finestra DOS amb el resultat (amb altres paràmetres podem fer que escrigui el resultat sobre un fitxer de text).
Una aplicació especialment útil (sobre tot si en l'arxiu hi tenim fotografies de diferents càmeres), és renombrar les fotografies amb la data de creació:
exiftool "-FileName<createdate" %y%m%d_%h%m%s%%-c.%%e="" -d="" dir
Rename all images in "dir" according to the CreateDate date and
time, adding a copy number with leading '-' if the file already
exists ("%-c"), and preserving the original file extension (%e).
Note the extra '%' necessary to escape the filename codes (%c and
%e) in the date format string.
Cal notar que el format aaaa-mm-dd hh:mm:ss és a més ideal per endreçar alfabèticament els fitxers
(Si el format fos dd-mm-aaaa, les primeres fotografies serien les del dia 1 de qualsevol mes i any).
Per usar-lo, només cal reneombrar el fitxer '.exe' amb els paràmetres que volguem. Per exemple:
si renombrem el fitxer ExifTool.exe a:
ExifTool(-k).exe Presenta les instruccions de funcionament
ExifTool(-a -u -g1 -k).exe Presenta totes les etiquetes Exif del fitxer
ExifTool(-all= -k).exe Esborrem totes les etiquetes Exif del fitxer
Un cop renombrat el ExifTool, arrosseguem amb el mouse les fotografies sobre l'executable (en Windows, en altres sistemes operatius ho desconec), i ens presentarà una finestra DOS amb el resultat (amb altres paràmetres podem fer que escrigui el resultat sobre un fitxer de text).
Una aplicació especialment útil (sobre tot si en l'arxiu hi tenim fotografies de diferents càmeres), és renombrar les fotografies amb la data de creació:
exiftool "-FileName<createdate" %y%m%d_%h%m%s%%-c.%%e="" -d="" dir
Rename all images in "dir" according to the CreateDate date and
time, adding a copy number with leading '-' if the file already
exists ("%-c"), and preserving the original file extension (%e).
Note the extra '%' necessary to escape the filename codes (%c and
%e) in the date format string.
Cal notar que el format aaaa-mm-dd hh:mm:ss és a més ideal per endreçar alfabèticament els fitxers
(Si el format fos dd-mm-aaaa, les primeres fotografies serien les del dia 1 de qualsevol mes i any).
Oct 20, 2010
Fotografia del Guggenheim de Bilbo
Etiquetes:
Fotografia
A vegades hi ha fotografies vulgars que et donen sorpreses. La original és del 2008, i 2 any i escaig després, revisant l'arxiu fotogràfic de Picassa va sortir això (i ja posats en vaig revisar altres).
Prova de Adobe Lightroom 3.2
Etiquetes:
Fotografia
Detall del fons original del blog al 200%:
Després de tractar-lo amb una demo de Adobe Lightroom 3.2
Ajustant l'enfocament i la reducció de soroll
Realment és una passada
Modificació de la plantilla del blog al Blogger de Google
Etiquetes:
Blog,
CSS3,
Google,
HTML5,
Programació
Aquesta es la meva modificació de la plantilla del blog:
Primer cal fer una còpia de seguretat del blog:
Disseny - Modifica l'HTML - Baixar la plantilla completa
A Disseny de la plantilla - Avançat - CSS, he afegit:
.tabs-inner .widget ul { background: rgba( 0, 0, 0, 0); }
.tabs-inner .widget li a { border: rgba( 0, 0, 0, 0.3) solid 1px; background: rgba( 255, 150, 50, 0.2); }
.tabs-inner .widget li.selected a { border: rgba( 0, 0, 0, 0.5) solid 1px; background: rgba( 255, 150, 50, 0.4); }
.tabs-inner .widget li a:hover { border: rgba( 0, 0, 0, 0.6) solid 1px; background: rgba( 255, 150, 50, 0.6); }
.post { font-size: 80%; }
.post-header { font-size: 90%; }
.post-outer { border: rgba( 0, 0, 0, 0.5) solid 1px; border-radius: 7px; background: rgba( 0, 0, 0, 0.5); }
.sidebar { border: rgba( 0, 0, 0, 0) solid 5px; border-radius: 7px; background: rgba( 0, 0, 0, 0.6); }
.widget ul { background: rgba( 0, 0, 0, 0.1); }
.widget-content { font-size: 90%; }
.content-outer { background: rgba( 0, 0, 0, 0.7); }
'.fauxcolumn-inner { background: rgba( 0, 0, 0, 0.3); }
'.body-fauxcolumns { background: rgba( 0, 0, 0, 0.3); }
'.date-header {font-size: 120%; background: rgba(100, 1000, 1000, 0.4); text-align: center; max-width: 15%; border:solid 20px rgba(100, 1000, 1000, 0.3); border-radius: 20px; 'height: 50px;}
Les 3 darreres línies estan comentades i per tant no s'apliquen.
i el resultat és:
Primer cal fer una còpia de seguretat del blog:
Disseny - Modifica l'HTML - Baixar la plantilla completa
A Disseny de la plantilla - Avançat - CSS, he afegit:
.tabs-inner .widget ul { background: rgba( 0, 0, 0, 0); }
.tabs-inner .widget li a { border: rgba( 0, 0, 0, 0.3) solid 1px; background: rgba( 255, 150, 50, 0.2); }
.tabs-inner .widget li.selected a { border: rgba( 0, 0, 0, 0.5) solid 1px; background: rgba( 255, 150, 50, 0.4); }
.tabs-inner .widget li a:hover { border: rgba( 0, 0, 0, 0.6) solid 1px; background: rgba( 255, 150, 50, 0.6); }
.post { font-size: 80%; }
.post-header { font-size: 90%; }
.post-outer { border: rgba( 0, 0, 0, 0.5) solid 1px; border-radius: 7px; background: rgba( 0, 0, 0, 0.5); }
.sidebar { border: rgba( 0, 0, 0, 0) solid 5px; border-radius: 7px; background: rgba( 0, 0, 0, 0.6); }
.widget ul { background: rgba( 0, 0, 0, 0.1); }
.widget-content { font-size: 90%; }
.content-outer { background: rgba( 0, 0, 0, 0.7); }
'.fauxcolumn-inner { background: rgba( 0, 0, 0, 0.3); }
'.body-fauxcolumns { background: rgba( 0, 0, 0, 0.3); }
'.date-header {font-size: 120%; background: rgba(100, 1000, 1000, 0.4); text-align: center; max-width: 15%; border:solid 20px rgba(100, 1000, 1000, 0.3); border-radius: 20px; 'height: 50px;}
Les 3 darreres línies estan comentades i per tant no s'apliquen.
i el resultat és:
Abans
Després
Oct 14, 2010
Oct 4, 2010
JavaScript
Etiquetes:
JavaScript,
Links,
Programació
Cookies
Cookies
Cookies en JavaScript
JavaScript Cookies
What is a Cookie? JavaScript Cookies
The unofficial Cookie FAQ
JavaScript and HTML DOM Reference
CSS 2.1 Properties
Hojas de referencia Javascript
JavaScript in one page
JavaScript Reference
JavaScript String Object
W3Schools. How to Create Websites
JavaScript Reference. Mozilla developer center
Documentation hot links. Mozilla developer center
Gecko DOM Reference. Mozilla developer center
O3D Demos and Samples. Google
WebGL implementation of O3D, an open-source JavaScript API for creating 3D applications by Google
JM-Mobile. Java Multimedia for Mobile
Cookies
Cookies en JavaScript
JavaScript Cookies
What is a Cookie? JavaScript Cookies
The unofficial Cookie FAQ
JavaScript and HTML DOM Reference
CSS 2.1 Properties
Hojas de referencia Javascript
JavaScript in one page
JavaScript Reference
JavaScript String Object
W3Schools. How to Create Websites
JavaScript Reference. Mozilla developer center
Documentation hot links. Mozilla developer center
Gecko DOM Reference. Mozilla developer center
O3D Demos and Samples. Google
WebGL implementation of O3D, an open-source JavaScript API for creating 3D applications by Google
JM-Mobile. Java Multimedia for Mobile
Oct 3, 2010
MS-Acces
Etiquetes:
Links,
MS-Access,
Programació
Runtime:
Understanding the Microsoft Access Runtime Engine
Introducción a las Extensiones para programadores de Access 2007 y a Access 2007 Runtime
Introducción a las Extensiones para programadores de Access 2007 y a Access 2007 Runtime
Convert Twips to Píxeles
'''''''''''' Per convertir twips a pixels
Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
Public Const WU_LOGPIXELSX = 88
Public Const WU_LOGPIXELSY = 90
Public Const X_HOR As Long = &H0
Public Const X_VERT As Long = &H1
'''''''''''' Per convertir twips a pixels
Public Function TwipsToPixels(lngTwips As Long, lngDirection As Long) As Long
'Handle to device
Dim lngDC As Long
Dim lngPixelsPerInch As Long
Const nTwipsPerInch = 1440
lngDC = GetDC(0)
Select Case lngDirection
Case X_HOR ' els pixels no son quadrats
lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSX)
Case X_VERT
lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSY)
End Select
lngDC = ReleaseDC(0, lngDC)
TwipsToPixels = (lngTwips / nTwipsPerInch) * lngPixelsPerInch
End Function
Public Function PixelsToTwips(lngTwips As Long, lngDirection As Long) As Long
'Handle to device
Dim lngDC As Long
Dim lngPixelsPerInch As Long
Const nTwipsPerInch = 1440
lngDC = GetDC(0)
Select Case lngDirection
Case X_HOR ' els pixels no son quadrats
lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSX)
Case X_VERT
lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSY)
End Select
lngDC = ReleaseDC(0, lngDC)
PixelsToTwips = (lngTwips / lngPixelsPerInch) * nTwipsPerInch
End Function
Imprimir texto a la impresora predeterminada con Access Basic (1.x/2.0)
'Obre el canal de la impressora
Open "\\estacio4\zebra" For Output As #1
'Configuració de la impressora
Print #1, "^XA~TA-008~JSN^LT0^MMT^MNW^MTT^PON^PMN^LH0,0^JMA^PR4,4^MD0^JUS^LRN^CI27^XZ"
'Nou format d'etiqueta i Llargada Etiqueta
Print #1, "^XA^LL0200"
'Amplada
Print #1, "^PW639"
'Codi de Barres de la 1ª Etiqueta
Print #1, "^BY2,3,32^FT133,118^BCN,,N,N"
Print #1, "^FD>;" & Ref_Imprimir & "^FS"
'Codi de Barres de la 2ª Etiqueta
Print #1, "^BY2,3,32^FT357,118^BCN,,N,N"
Print #1, "^FD>;" & Ref_Imprimir & "^FS"
'Referència 1ª etiqueta
Print #1, "^FT162,139^A0N,23,24^FD" & Ref_Maca & "^FS"
'Referència 2ª etiqueta
Print #1, "^FT386,139^A0N,23,24^FD" & Ref_Maca & "^FS"
'Imprimeix el nobre necessari d'etiquetes (Sortida de 2)
Print #1, "^PQ" & CStr(Q2) & "," & CStr(Q2) & ",1,N^XZ"
'Tanca el canal de la Impressora
Close #1
.NET Framework Solutions—In Search of the Lost Win32 API
Per moure una finestra clicant el botó 'BotoDesp' (p.65)
'Constantes para SendMessage
Public Const WM_LBUTTONUP = &H202
Public Const WM_SYSCOMMAND = &H112
Public Const SC_MOVE = &HF010
Public Const MOUSE_MOVE = &HF012
Public Const WM_NCLBUTTONDOWN = &HA1
Public Const HTCAPTION = 2
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Public Declare Function ReleaseCapture Lib "user32" () As Boolean
Private Sub BotoDesp_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
BotoDesp.Picture = DirectoriRecursos & "P" & Right(BotoDesp.Picture, 9)
Clicat = True
Call SendMessage(Me.hwnd, WM_SYSCOMMAND, MOUSE_MOVE, 0)
End Sub
Private Sub BotoDesp_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Clicat And Button = 1 Then
Call SetWindowPos(Application.hWndAccessApp, HWND_TOP, -200, -200, 10, 10, 0)
Call ReleaseCapture
Call SendMessage(Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End If
End Sub
Private Sub BotoDesp_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
BotoDesp.Picture = DirectoriRecursos & Right(BotoDesp.Picture, 9)
Clicat = False
End Sub
Espais de color HSL and HSV
Arduino Sleep
Reduir la freqüència
Arduino Interrupts
Sleep at Arduino Playground
avr/power.h
AVR® Fuse Calculator
Arduino Sleep_Watchdog_Battery
Save power in SquidBee - sleep mode
How to save energy in the WSN sleeping the motes
Trackuino
Sleep.cpp
Really powering down this time
Power Save Mode at Arduino Forum
Arduino Interrupts
Sleep at Arduino Playground
avr/power.h
AVR® Fuse Calculator
Arduino Sleep_Watchdog_Battery
Save power in SquidBee - sleep mode
How to save energy in the WSN sleeping the motes
Trackuino
Sleep.cpp
Really powering down this time
Power Save Mode at Arduino Forum
Oct 2, 2010
Wii, Arduino Links
Motion Plus y Nunchuck juntos en el Arduino
Wii MotionPlus + Arduino
Wii Remote WiKi
Wiimote from Willi
WiiMote
Wii Motion Plus + Arduino = Love from Random Hacks
Motion Plus and Nunchuck together on the Arduino from Random Hacks
Wiimote/Extension Controllers. Data format and connection
A Guide To using IMU (Accelerometer and Gyroscope Devices) in Embedded Applications
Arduino code for simplified Kalman filter. Using a 5DOF IMU (accelerometer and gyroscope combo)
Arduino Wire Library (I2C)
Kalman Filtered Nunchuck & Wii Motion Plus on Arduino Forum
Mètode dels mínims quadrats
float[ ] x = {x,x,x,...}, y = {y,y,y,...};
int n = x.length; // = y.length;
float sumx=0, sumy=0, sumxy=0, sumx2=0;
for (int i = 0; i < n; i++){
sumx += x[i];
sumy += y[i];
sumx2 += x[i] * x[i];
sumxy += x[i] * y[i];
}
float denominador = sumx*sumy - n*sumx2;
float m = (sumx*sumy-n*sumxy) / denominador;
float b = (sumx*sumxy-sumx2*sumy) / denominador;
println(m +" "+ b); // y = m·x + b (si substituim x per t (temps)
WiiMote WiKi Bluetooth Conection
Filtering Sensor Data with a Kalman Filter
How to: Arduino and Nintendo Nunchuck for pan and tilt camera interface on DIY Drones
Tracking Your Fingers with the Wiimote by Johnny Chung Lee
Friday, December 21, 2007
Wiimote Finger Tracking -FAQ and Adv Discussion
Read wii nunchuck data into arduino
Wii Nunchuck Mouse
Wii Nunchuck Mouse Code Breakdown
Wiimote light follower with servo
Winscape (virtual Window) - The Making Of
Wii MotionPlus + Arduino
Wii Remote WiKi
Wiimote from Willi
WiiMote
Wii Motion Plus + Arduino = Love from Random Hacks
Motion Plus and Nunchuck together on the Arduino from Random Hacks
Wiimote/Extension Controllers. Data format and connection
A Guide To using IMU (Accelerometer and Gyroscope Devices) in Embedded Applications
Arduino code for simplified Kalman filter. Using a 5DOF IMU (accelerometer and gyroscope combo)
Arduino Wire Library (I2C)
Kalman Filtered Nunchuck & Wii Motion Plus on Arduino Forum
Mètode dels mínims quadrats
WiiMote WiKi Bluetooth Conection
Filtering Sensor Data with a Kalman Filter
How to: Arduino and Nintendo Nunchuck for pan and tilt camera interface on DIY Drones
Tracking Your Fingers with the Wiimote by Johnny Chung Lee
Friday, December 21, 2007
Wiimote Finger Tracking -FAQ and Adv Discussion
Read wii nunchuck data into arduino
Wii Nunchuck Mouse
Wii Nunchuck Mouse Code Breakdown
Wiimote light follower with servo
Winscape (virtual Window) - The Making Of
Arduino Programació
Etiquetes:
Arduino,
Links,
Programació
Arduino
Arduino Home
Tinker it! Blog
The World Famous Index of Arduino & Freeduino Knowledge
Arduino listens to electret microphone
Blogs: Open-source Arduino Clock
t r o n i x s t u f f
Paul's Electronics
Physical Computing
Random Hacks Of Boredom/Genius
Robot Room
TodBot Blog (Bionic Arduino – Introduction to Microcontrollers with Arduino)
VR Urban
Tinker it! Blog
The World Famous Index of Arduino & Freeduino Knowledge
Arduino listens to electret microphone
Blogs: Open-source Arduino Clock
Paul's Electronics
Physical Computing
Random Hacks Of Boredom/Genius
Robot Room
TodBot Blog (Bionic Arduino – Introduction to Microcontrollers with Arduino)
VR Urban
Oct 1, 2010
Digital Signage. Preview de Dupla 2.0
Etiquetes:
Digital Signage,
Dupla
Dupla, el programa de digital signage senzill i barat.
Amb 3 simples passos pots publicar a la teva instal·lació de vídeo tots els continguts que vulguis.
Més informació »
Amb 3 simples passos pots publicar a la teva instal·lació de vídeo tots els continguts que vulguis.
Més informació »
Subscribe to:
Posts (Atom)