{"id":118,"date":"2010-02-07T22:59:42","date_gmt":"2010-02-07T21:59:42","guid":{"rendered":"http:\/\/roboblog.fatal-fury.de\/?page_id=118"},"modified":"2017-03-04T11:09:54","modified_gmt":"2017-03-04T10:09:54","slug":"ein-bild-mit-opencv-anzeigen","status":"publish","type":"post","link":"http:\/\/roboblog.fatal-fury.de\/?p=118","title":{"rendered":"Ein Bild mit OpenCV anzeigen"},"content":{"rendered":"<p>Nun geht es um unser erstes Programm. Es soll ein Bild geladen und angezeigt werden.<br \/>\nHier der Code:<\/p>\n<p><code>#include \"highgui.h\"<\/p>\n<p>int main(int argc, char** argv) {<br \/>\nIplImage *img = cvLoadImage(argv[1]);<br \/>\ncvNamedWindow(\"Example1\", CV_WINDOW_AUTOSIZE);<br \/>\ncvShowImage(\"Example1\", img),<br \/>\ncvWaitKey(0);<br \/>\ncvReleaseImage(&img);<br \/>\ncvDestroyWindow(\"Example1\");<br \/>\n}<\/code><\/p>\n<p>Nun wird das Programm compiliert und von einer Konsole mit einem Argument aufgerufen. Z.B. \".\/meinProgramm bild1.jpg\". Es sollte sich nun ein Fenster \u00f6ffnen und das Bild anzeigen.<\/p>\n<p>Das Programm ist ganz einfach. IplImage enth\u00e4lt immer Bilder die man sp\u00e4ter bearbeiten will.<br \/>\ncvLoadImage() l\u00e4d Bilder von der Festplatte wobei das Format automatisch erkannt wird.<\/p>\n<p>Mit cvNamedWindow() wird ein neues Fenster mit dem internen Namen Example1 erstellt in dem vorerst die Bilder angezeigt werden. Sp\u00e4ter \u00fcbernimmt das Qt f\u00fcr uns. <\/p>\n<p>Mit cvShowImage() wird nun das Bild im vorher erstellten Fenster angezeigt.<\/p>\n<p>cvWaitKey() stopt das Programm f\u00fcr die angegebene Zeit bzw. wartet, dass der User eine Taste dr\u00fcckt. cvWaitKey() ist zwingend notwendig sonst wird das Programm sofort beendet bzw. es erscheint einfach kein Bild. <\/p>\n<p>cvReleaseImage() gibt den reservierten Speicher vom Bild wieder an das Betriebssystem zur\u00fcck und cvDestroyWindow() zerst\u00f6rt das Fenster.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nun geht es um unser erstes Programm. Es soll ein Bild geladen und angezeigt werden. Hier der Code: #include \"highgui.h\" int main(int argc, char** argv) { IplImage *img = cvLoadImage(argv[1]); cvNamedWindow(\"Example1\", CV_WINDOW_AUTOSIZE); cvShowImage(\"Example1\", img), cvWaitKey(0); cvReleaseImage(&#038;img); cvDestroyWindow(\"Example1\"); } Nun wird das Programm compiliert und von einer Konsole mit einem Argument aufgerufen. Z.B. \".\/meinProgramm bild1.jpg\". Es [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-118","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=118"}],"version-history":[{"count":16,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/118\/revisions"}],"predecessor-version":[{"id":138,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/118\/revisions\/138"}],"wp:attachment":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=118"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}