What can a Webcam do?
--Machine Vision Around you
Liming Hu (dawninghu@gmail.com)
A webcam normally uses a USB or IEEE1394 interface. A webcam is cheap and low-cost.
1. Face detection, eye detection, blink detection, color tracking.
(Machine perception Toolbox )
video conference auto focus, head tracking.
2. Barcode scanner/reader.
(Zebra barcode reader, linux version , It can read EAN, UPC, Code 128, Code 39 barcode)
2D barcode? (i.e. QR code, datamatrix code?)
3. Home/Office Surveillance.
a. Senriska Motion detection(change detection)
b. baby monitoring (need audio system)
4. Video Conference.
(Yahoo messenger, MSN, QQ)
Background substitution
5. Stereo System (Range/depth/distance detection, obstacle detection, 3D scene reconstruction)
if we have two or more webcams
a. Estereo ( real-time disparity estimation, scene reconstruction)
b. Sentience, SurveyorSVS (A wireless stereo camera)
c. 3D Reconstruction using Stereo Vision
d. USB stereo camera, C# stereo SDK usb stereo cameras
e. tripod(tutorial )
6. Vehicle Blind spot detection?
7. OCR?
(Tesseract OCR) need high quality CCD/CMOS sensor.
http://code.google.com/p/ocropus/
http://www.cs.sfu.ca/~mori/research/gimpy/gimpy.pdf
http://caca.zoy.org/wiki/PWNtcha
8. Gesture detection
IGesture ( Java-based gesture recognition)
It probably turns a webcam into a remote controller, i.e.
presentation turn up and turn down.
9. IRIS recognition? (less likely)
10. Fingerprint recognition (useless, also less likely)
11. Webcam Based DIY Laser Rangefinder
12. 3D photography (David 3D Scanner )
Thursday, September 17, 2009
Programming Skills
Programming Skills
TIOBE Programming Community Index
Quick Reference Cards, Cheat Sheets, Reference Cards
(CVS, Emacs)
LINUX Administrator's Quick Reference, Linux Security Reference
C# and .NET
Introduction to C# , Advanced C#, C# for C++ developers, Core C# and .NET Quick Reference
C# Reference Sheet Basics, C# Language Reference, Introduction to Functional Programming in C#.
C++
C++ Quick Reference, STL /Generic Programming, STL Quick Reference, Boost
The C++ programming Language (Stroustrup)
C
The C Programming Language (Kernighan & Ritchie), 1998
Java
Java Programming Guide - Quick Reference, Java 5 & 6 Reference Card, Java for C++ Programmers, Eclipse
VB.NET Quick Reference
Shell Script
Bash Quick reference
Python
Learning Python, second edition, Mark Lutz & David Ascher
Python Quick Reference Card
Design Patterns
UML Quick reference, MVC patterns
Functional Programming (Haskell )
Parallel Programming (SIMD)
MMX, SSE2
Programming Books:
Programming Pearls, second edition, Jon Bentley, 2000
Design Patterns , by Gamma, Helms, Johnston, and Vlissides (known as the "Gang of Four") 2001
Code Craft by Pete Goodliffe 2007
The Practice of Programming, 1999
Writing Solid Code
Beginning Algorithms
The practice of writing excellent code
A programmer's companion to Algorithm analysis
Puzzles for programmers and pros
Web Programming
Windows programming
Win32 API programming Tutorial in C
Algorithm Design
Data Structure
Software Design
Software Testing
Unit Test tools, JUnit
DataBase
mySQL
SQL Server
A wise man learns from his mistakes; a wiser man learns from the mistakes of others.
Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
Logic Programming: Prolog
The largest phase of the software life cycle is maintenance.
Good code stands on its own and doesn’t need to be lumbered with bureaucratic documentation processes.
Qt: is a cross-platform application development framework, widely used for the development of GUI programs.
MPI
Technical
Program name and line number printing
| I was wondering how to print the line you are on in a C++ program
| While I'm at it, can the name of the file and function the line is in also
+----
FPGA
JHDL Getting Started, Manual
webpack
Ruby
Ubuntu 8.04 Vmware Image
Web development: A popular example is the LAMP (Linux, Apache, MySQL, PHP). web services
Bug Tracking (Trac , mantis )
3d space navigator
http://www.3dconnexion.com/3dmouse/spacenavigator.php
VMWare player
Ubuntu 8.0.4
jars
normal passwd
Puzzles for Programmers and Pros
How we test software at Microsoft
Agile Project Management with Scrum
TIOBE Programming Community Index
Quick Reference Cards, Cheat Sheets, Reference Cards
(CVS, Emacs)
LINUX Administrator's Quick Reference, Linux Security Reference
C# and .NET
Introduction to C# , Advanced C#, C# for C++ developers, Core C# and .NET Quick Reference
C# Reference Sheet Basics, C# Language Reference, Introduction to Functional Programming in C#.
C++
C++ Quick Reference, STL /Generic Programming, STL Quick Reference, Boost
The C++ programming Language (Stroustrup)
C
The C Programming Language (Kernighan & Ritchie), 1998
Java
Java Programming Guide - Quick Reference, Java 5 & 6 Reference Card, Java for C++ Programmers, Eclipse
VB.NET Quick Reference
Shell Script
Bash Quick reference
Python
Learning Python, second edition, Mark Lutz & David Ascher
Python Quick Reference Card
Design Patterns
UML Quick reference, MVC patterns
Functional Programming (Haskell )
Parallel Programming (SIMD)
MMX, SSE2
Programming Books:
Programming Pearls, second edition, Jon Bentley, 2000
Design Patterns , by Gamma, Helms, Johnston, and Vlissides (known as the "Gang of Four") 2001
Code Craft by Pete Goodliffe 2007
The Practice of Programming, 1999
Writing Solid Code
Beginning Algorithms
The practice of writing excellent code
A programmer's companion to Algorithm analysis
Puzzles for programmers and pros
Web Programming
Windows programming
Win32 API programming Tutorial in C
Algorithm Design
Data Structure
Software Design
Software Testing
Unit Test tools, JUnit
DataBase
mySQL
SQL Server
A wise man learns from his mistakes; a wiser man learns from the mistakes of others.
Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
Logic Programming: Prolog
The largest phase of the software life cycle is maintenance.
Good code stands on its own and doesn’t need to be lumbered with bureaucratic documentation processes.
Qt: is a cross-platform application development framework, widely used for the development of GUI programs.
qmake *.pro
qmake -project
qmake --version
QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));
MPI
Technical
- Mathworld, a good reference for maths/physics formulas (usually more technical and less detailed than Wikipedia)
- cppreference.com, basic C/C++ reference
- MSDN VC++ reference, yet another detailed reference site from Microsoft for Visual C++
- Java API specifications, a must-have for Java programmers
Program name and line number printing
| I was wondering how to print the line you are on in a C++ program
| While I'm at it, can the name of the file and function the line is in also
+----
#include
int main()
{
cout << __FILE__ << endl;
cout << __FUNCTION__ << endl;
cout << __LINE__ << endl;
return 0;
FPGA
JHDL Getting Started, Manual
webpack
Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation
Mono: Running *.net on multi/linux platformRuby
Ubuntu 8.04 Vmware Image
Web development: A popular example is the LAMP (Linux, Apache, MySQL, PHP). web services
Bug Tracking (Trac , mantis )
3d space navigator
http://www.3dconnexion.com/3dmouse/spacenavigator.php
VMWare player
Ubuntu 8.0.4
jars
normal passwd
Puzzles for Programmers and Pros
How we test software at Microsoft
Agile Project Management with Scrum
Subscribe to:
Posts (Atom)