Monthly Archive for Januar, 2010

Google Chrome Extensions

Obwohl ich im Developer Channel war und das Programm mit dem entsprechenden Parameter starte – “chrome.exe –enable-extensions”, konnte ich einfach keine Erweiterungen installieren. Normalerweise muss man nur auf die crx-Datei klicken, die lädt sich runter  und die Installation passiert von ganz alleine. Bei mir hat Chrome die Datei immer versucht herunterzuladen und als “unconfirmed[xxxxxx].download” zu speichern, wobei xxxxxx für eine große Zahl steht. Außerdem ist das unconfirmed Download-Fenster immer wieder aufgepoppt. Und selbst wenn man die crx-Datei heruntergeladen hatte, konnte man sie danach nicht installieren. Da google keine passende Antwort parat hatte, hier nun was mir geholfen hat:

3 Monate warten ;) und anschließende Neuinstallation der Developer-Version direkt von:

http://www.google.com/chrome/eula.html?extra=devchannel

Seitdem funktionieren die Erweiterungen. Man muss nicht mal mehr den Parameter “–enable-extensions” beim Starten angeben. Ich bin begeistert einen Werbeblocker und den Autopager zu haben!

Festgefroren

Festgefroren

OpenCV2.0 Libraries für Visual Studio 2008 kompilieren

Um OpenCV2.0 mit Visual C++ 2008 verwenden zu können, muss man entweder eine kompilierte Version der Libraries/Binaries herunterladen oder OpenCV2.0 einfach selbst kompilieren. Wie das funktioniert beschreibt dieser Artikel.

Voraussetzungen

Herunterladen und installieren:

- OpenCV2.0

- CMake

- Visual C++ 2008 (z. B. die Express Edition)

OpenCV2.0 kompilieren

- CMake starten

- OpenCV2.0 Installationsordner angeben

- Ausgabe-Verzeichnis angeben

Im Ausgabe-Verzeichnis wird CMake ein Visual Studio Projekt erstellen, mit dem man die Libraries/Binaries erstellt. Die Source- und Headerdateien werden dabei aus dem OpenCV2.0 Verzeichnis geladen.

- Klick auf Configure

- Ausgabepfad anlegen: Ja

- “Visual Studio 9 2008″ auswählen

- Das Häckchen von “ENABLE_OPENMP” sollte man auf jeden Fall entfernen, sonst bekommt man beim Kompilieren die folgende Fehlermeldung:

“c:\opencv2.0\include\opencv\cxmisc.h(57) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: “omp.h”: No such file or directory”

OpenMP ist eine Programmierstelleschnittstelle zur Parallelisierung von Programmen – braucht man in der Regel nicht.

- Configure

- Generate

In Screenshots:

CMake

Visual Studio 2008 auswählen

Meine Einstellungen

Gleich geschafft

- Erzeugtes Projekt öffnen (OpenCV.sln)

- Kompilieren (F5)

- Release einstellen

- Kompilieren

Die gewünschten Dateien entstehen im Unterordner “lib”.

Wie man mit diesen Libraries ein erstes Projekt mit OpenCV erstellt, beschreibe ich im Artikel OpenCV 2.0 mit Visual Studio 2008 verwenden.

Viel Spaß!

OpenCV 2.0 mit Visual Studio 2008 verwenden

Hier ein “Getting started” Tutorial, um OpenCV2.0 auf Windows 7 mit Visual Studio 2008 zum Laufen zu bekommen.

Herunterzuladen:

- Visual C++ 2008 Express Edition

- OpenCV2.0

OpenCV Installation

Bei der Installation von OpenCV2.0 sollte man auswählen, dass das OpenCV-Verzeichnis (genauer das bin-Verzeichnis – C:\OpenCV2.0\bin) für alle Benutzer der PATH-Variablen hinzugefügt wird. In diesem Order liegen, die DLLs auf die man bei der Verwendung von OpenCV zugreift. Alternativ kann man diesen Pfad auch im Projekt angeben oder die DLLs ins Projektverzeichnis kopieren.

Um OpenCV in eigenen Projekten verwenden zu können, benötigt man die Bibliotheken (.lib – Dateien), die man verwenden möchte. In der Regel benötigt man cv200.lib, cxcore200.lib und highgui200.lib. Diese Bibliotheken werden beim Kompilieren von OpenCV erstellt. Sie unterscheiden sich für verschiedene Versionen von Visual Studio und werden für Visual C++ 2008 NICHT im Installationspaket mitgeliefert. Bevor es losgehen kann, braucht man diese Bibliotheken. Ich habe sie kompiliert und online gestellt:

- OpenCV2.0 Libraries for Visual Studio 2008

Wie man diese Dateien selbst kompiliert, beschreibe ich im Artikel OpenCV2.0 Libraries für Visual Studio 2008 kompilieren.

Die Zip-Datei enthält sowohl die Debug- als auch die Releaseversion der OpenCV-Libraries. Die Debugversion erkennt man daran, dass an jedem Dateinamen ein d angehängt ist – z. B.: cv200d.lib.

Das erste kleine Projekt in OpenCV

- Visual C++ 2008 Express Edition starten

- Neues Projekt anlegen:

- Win32 -> Win32-Konsolenanwendung
- leeres Projekt anklicken

In Screenshots:

Neues Projekt anlegen

Weiter

Leeres Projekt

- Quelldateien: Rechtsklick -> C++-Datei: main.cpp anlegen

Den folgenden Quellecode in main.cpp einfügen:

#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

int mainLoop(){
  // define variables
    IplImage *image;
    CvCapture* capture = NULL;

  // capture from camera 0
  capture = cvCaptureFromCAM(0);

    if( !capture )
    {
        fprintf(stderr,"Could not initialize capturing...\n");
        return -1;
    }

    image = cvQueryFrame( capture );
  if( !image ){
    fprintf(stderr,"Could not retrieve first frame...\n");
    return -1;
  }
   
    // create window in top left corner
  cvNamedWindow("Camera", 0);
  cvMoveWindow("Camera", 0, 0);

    for(;;){
    // get one frame from the camera
        image = cvQueryFrame(capture);
   
        cvShowImage("Camera", image);

    int waitKeyReturnValue = cvWaitKey(1);

    // exit on Escape-Key
        if( (char) waitKeyReturnValue == 27 )
            break;
  }

  // clean-up
  cvReleaseCapture(&capture);
  cvDestroyAllWindows();
   
    return 0;
}

int main(int argc, char** argv){
  return mainLoop();
}

- Projekt -> Eigenschaften (Alt+F7) -> Konfigurationseigenschaften -> Linker -> Allgemein -> Zusätzliche Bibliotheksverzeichnisse: hier angeben, wo die lib-Dateien für Debug liegen

- Projekt -> Eigenschaften (Alt+F7) -> Konfigurationseigenschaften -> Linker -> Eingabe -> Zusätzliche Abhängigkeiten: cv200d.lib cxcore200d.lib highgui200d.lib” (Leerzeichen beachten!)

cxcore wird in diesem Beispiel nicht verwendet, aber man braucht es früher oder später doch.

In Screenshots:

Bibliotheksverzeichnis angeben

Bibliotheksverzeichnis angeben

Libraries angeben

Debugging starten (F5)

Nun sollte das Bild der angeschlossenen Kamera auftauchen.

Mit Escape beendet man den Kameratest.

Viel Spaß mit OpenCV!

Buch der Synergie

Durch Zufall bin ich auf das “Buch der Synergie” von Achmed Khammas gestoßen. Es ist wirklich schwer sich davon wieder loszureißen, wenn man erst ein mal ein wenig darin geblättert hat. Er ist ständig dabei das Internet zu durchforsten, um neue Informationen zu Erneuerbaren Energien einzuarbeiten. Ein tolle Quelle für Ideen und Inspirationen. Unglaublich, was es alles gibt oder schon mal gab! Zum Beispiel den Aquaskipper…