(Deutsch weiter unten!)
Okay, so I am developing the mouse system for Windows, with OpenCV.
Originally, I wanted to use Dev-C + + with the MinGW compiler (or wxDev C + + because of the Form-Editor), becaus of the low disc space requirements. I followed the instructions at http://opencvlibrary.sourceforge.net/DevCpp to use OpenCV with Dev-C + +, but to my disappointment only the the C sample files ran, the C + + examples didn’t.
So I will now state the requirements for the development environment (I use the Windows XP operating system, 1.5 gigahertz):
- Visual C + + 2008 Express Edition
- OpenCV, tips on using OpenCV with Microsoft Visual C + + can be found in the online wiki at http://opencvlibrary.sourceforge.net/VisualC% 2B% 2B
- I use the C + + programming guidelines at http:// … Hey, where’dey go?
Ah here (german document, find more at dmoz.org) http://zach.in.tu-clausthal.de/progr/guidelines.html
- I will be using JavaDocs for commenting style, which enables the next point …
- I use Doxigen to the extract comments from my source code and generate an HTML documentation automatically(!!!). (Configuring the doxyfile until you are content with the Document outcome took me a whole day but it was worth it!)
- With the help of Microsoft’s HTML Help, I let Doxygen create Copiled HTML Help files ( .chm )
- With the help of Graphviz I let Doxygen create graphics for the documentation. These graphics e.g. shows what functions are calling which other functions, that’s really neat
- I use normal functions, so they can be used or left out as you please.
- I’ll name all functions with the “_LLM” suffix.
- On Pointers I will add a “_P” suffix, and double-pointers (pointers to pointers) a “_PP” suffix.
- I will continuously add my functions to a “.h” header file. so you can include them any time you need them (similar to the OpenCV header files)
- I will try to program the entire thing exception-safe (So without any unexpected conditions – HAHA
)
- As a constant light source I’ll use indirect, diffused, yellow lighting with a brightness between 500 and 700 LUX (Recommended values for reading and or detailed work by (researched) Ergonomics)
- The manual is created with LaTeX
- My goal is to write all documents in German and English
Okay that’s it!
##########################################
Also ich entwickle das Maus-System für Windows, mit OpenCV.
Ursprünglich wollte ich Dev-C++ mit dem MinGW Compiler nutzen (bzw. wxDev-C++ wegen des Form-Editors), wegen des geringen Platzbedarfs. Ich befolgte die Anleitung auf http://opencvlibrary.sourceforge.net/DevCpp, um OpenCV mit Dev-C++ zu benutzen, aber zu meiner Enttäuschung liefen nur die C Beispieldateien, die C++ Beispiele liefen nicht.
Ich habe mich also für folgende Anforderungen an die Entwicklungsumgebung entschieden (Ich benutze das Windows XP Betriebssystem, 1,5 Gigahertz):
- Visual C++ 2008 Express Edition
- OpenCV, Hinweise zur Nutzung von OpenCV mit Microsoft Visual C++ auf http://opencvlibrary.sourceforge.net/VisualC%2B%2B
(Eine deutsche Übersetzung finden Sie hier: http://eyebachelor.googlecode.com/files/cv.pdf)
- Ich benutze die C++ Programmier Richtlinien von http://… Hm, wo waren die nochmal?
Ah hier: http://zach.in.tu-clausthal.de/progr/guidelines.html
- Ich werden mittels JavaDoc kommentieren, das ermöglicht den nächsten Punkt…
- Ich verwende Doxigen, um aus den Kommentaren automatisch(!!!) eine HTML Dokumentation zu generieren. (Die Konfiguration bis zur Zufriedenheit ist langatmig, aber lohnt sich!!!)
- Mit Hilfe von Microsoft’s HTML-Help lasse ich Doxygen zusätzlich eine Copiled HTML Hilfedatei erzeugen ( .chm )
- Mit Hilfe von Graphviz lasse ich Doxygen zusätzlich Graphiken für die Dokumentation erzeugen. Diese Graphiken zeigen zum Beispiel welche Funktion von welcher anderen Funktion aufgerufen wird, echt hübsch
- Ich verwende einfache Funktionen, damit diese nach belieben verwendet oder weggelassen werden können.
- Ich benenne alle Funktionen mit dem “_LLM” Suffix.
- Zeiger (C++ Pointer) werde ich mit “_P” Suffix, und Doppel-Zeiger (Zeiger auf Zeiger) mit “_PP” Suffix benennen
- Ich werde meine Funktionen nach und nach in eine “.h” Header Datei auslagern, die man dann jeder Zeit einbinden kann, wenn man sie braucht (ähnlich wie die OpenCV Dateien)
- Ich werde versuchen das ganze Exception-Sicher zu programmieren (Also ohne unerwartete Zustände – HAHA
)
- Als konstante Lichtquelle nutze ich indirektes, gestreutes, gelbliches Licht mit einer Stärke zwischen 500 und 700 LUX (Empfohlene Werte aus der Ergonomie für Lesen bis Detailarbeiten)
- Das Handbuch wird mit LaTeX erstellt
- Mein Ziel ist es die gesamten Dokumente in Deutsch und Englisch zu verfassen
Okay das war’s!