ERSPProgramOpenCV

From ImageWiki

(Difference between revisions)
Jump to: navigation, search
(ERSP og OpenCV)
 
Line 1: Line 1:
= ERSP og OpenCV =
= ERSP og OpenCV =
-
[http://www.intel.com/technology/computing/opencv/ OpenCV] er et kraftigt billedbehandlings- og datamatsynsbibliotek der udvikles af Intel. Da det er frit programmel er det desuden let tilgængeligt og gratis. Hvis du vil benytte OpenCV kan du bruge mit lille konverteringsprogram, der kan findes i SVN (kig efter filen ersp2opencv.hpp). Der er blot tale om en header-fil, som stiller funktionenerne
+
[http://www.intel.com/technology/computing/opencv/ OpenCV] er et kraftigt billedbehandlings- og datamatsynsbibliotek der udvikles af Intel. Da det er frit programmel er det desuden let og gratis. Hvis du vil benytte OpenCV kan du bruge mit lille konverteringsprogram, der kan findes i SVN (kig efter filen ersp2opencv.hpp). Der er blot tale om en header-fil, som stiller funktionenerne
<pre>
<pre>
   IplImage* Image2Ipl(const Evolution::Image &amp;I)
   IplImage* Image2Ipl(const Evolution::Image &amp;I)
Line 8: Line 8:
   Evolution::Image* Ipl2Image(const IplImage *ipl)
   Evolution::Image* Ipl2Image(const IplImage *ipl)
-
       Gør det modsatte...
+
       det modsatte...
   IplImage* get_ipl(Evolution::ICamera *camera)
   IplImage* get_ipl(Evolution::ICamera *camera)
Line 17: Line 17:
       Viser et Evolution::Image vha OpenCV's visualiseringssystem. Fungerer som cvShowImage.
       Viser et Evolution::Image vha OpenCV's visualiseringssystem. Fungerer som cvShowImage.
</pre>
</pre>
-
til rådighed. Tag et billede med ERSP og konverter det til et IplImage (som er OpenCV's billeddatastruktur), som følger
+
til . Tag et billede med ERSP og konverter det til et IplImage (som er OpenCV's billeddatastruktur), som
<pre>
<pre>
Line 25: Line 25:
</pre>
</pre>
-
Du skal være opmærksom på at dette opretter et nyt billede, som du selvfølgelig skal deallokere med cvReleaseImage(). Derudover skal du naturligvis også deallokere ERSP billedet som du plejer.  
+
Du skal at dette opretter et nyt billede, som du skal deallokere med cvReleaseImage(). Derudover skal du naturligvis deallokere ERSP billedet som du plejer.  
-
Pakken der henvises til ovenfor indeholder et lille eksempelprogram der blot viser et billede vha. OpenCV. Du oversætter programmet som du plejer at oversætte ERSP programmer. Dog skal du tilføje lidt til din Makefile. Til CFLAGS skal du tilføje `pkg-config --cflags opencv` og til LDFLAGS `pkg-config --libs opencv`.
+
Pakken der henvises til ovenfor indeholder et lille eksempelprogram der blot viser et billede vha. OpenCV. Du programmet som du plejer at ERSP programmer. Dog skal du lidt til din Makefile. Til CFLAGS skal du `pkg-config --cflags opencv` og til LDFLAGS `pkg-config --libs opencv`.
-
Har du problemer, bare kontakt mig ([[User:Hauberg|Hauberg]]) da jeg er intereseret i at dette afprøvet.
+
Har du problemer, bare kontakt [[User:Hauberg|mig]] da jeg er intereseret i at dette .
-
== Bemærkninger ==
+
== ==
-
For det første er det værd at bemærke at dette program ikke ligefrem er effektivt. Data kopieres pixel for pixel, hvilket er langt fra optimalt. Problemet er at ERSP repræsenterer et billede i YUV farvekoordinater mens OpenCV typisk benytter RGB. Det er dog muligt at man kan lave noget smart - sig til hvis du kommer p ånoget.
+
For det er det at at dette program ikke ligefrem er effektivt. Data kopieres pixel for pixel, hvilket er langt fra optimalt. Problemet er at ERSP et billede i YUV farvekoordinater mens OpenCV typisk benytter RGB. Det er dog muligt at man kan lave noget smart - sig til hvis du kommer .
-
Desuden skal der gøres opmærksom på at funktionen selvfølgelig skal implementeres i en .cpp fil og ikke en .hpp fil, men dovenskaben er en smuk diktator.
+
Desuden skal der at funktionen skal implementeres i en .cpp fil og ikke en .hpp fil, men dovenskaben er en smuk diktator.
-
Jeg ([[User:Hauberg|Hauberg]]) har lige opdaget en fejl i ovenstående. Hvis du bruger OpenCV til at vise billeder skal du benytte cvWaitKey(...) fremfor Platform::milisecond_sleep(...).
+
[[User:Hauberg|Jeg]] har lige opdaget en fejl i . Hvis du bruger OpenCV til at vise billeder skal du benytte cvWaitKey(...) fremfor Platform::milisecond_sleep(...).
=== Pokkers til uchar ===
=== Pokkers til uchar ===
-
OpenCV definerer typen uchar og ERSP definerer typen Evolution::uchar. Dvs. hvis du 'using namespace Evolution;' kan der opstå problemer. Da jeg er en skodprogrammør ville det være fedt hvis nogen kunne sige hvad (og evt. hvorfor) man skal gøre ved dette. Min løsning er at ignorere problemet og krydse fingrene.
+
OpenCV definerer typen uchar og ERSP definerer typen Evolution::uchar. Dvs. hvis du 'using namespace Evolution;' kan der problemer. Da jeg er en ville det fedt hvis nogen kunne sige hvad (og evt. hvorfor) man skal ved dette. Min er at ignorere problemet og krydse fingrene.

Latest revision as of 21:06, 17 June 2006

Personal tools