diff --git a/bazaar/OpenCV_demo/OpenCV_demo.upp b/bazaar/OpenCV_demo/OpenCV_demo.upp new file mode 100644 index 000000000..9ab0f4b78 --- /dev/null +++ b/bazaar/OpenCV_demo/OpenCV_demo.upp @@ -0,0 +1,12 @@ +uses + CtrlLib, + plugin\jpg, + Controls4U, + OpenCV; + +file + main.cpp; + +mainconfig + "" = "GUI"; + diff --git a/bazaar/OpenCV_demo/building.jpg b/bazaar/OpenCV_demo/building.jpg new file mode 100644 index 000000000..6056492f2 Binary files /dev/null and b/bazaar/OpenCV_demo/building.jpg differ diff --git a/bazaar/OpenCV_demo/init b/bazaar/OpenCV_demo/init new file mode 100644 index 000000000..4777751e3 --- /dev/null +++ b/bazaar/OpenCV_demo/init @@ -0,0 +1,7 @@ +#ifndef _OpenCV_demo_icpp_init_stub +#define _OpenCV_demo_icpp_init_stub +#include "CtrlLib/init" +#include "plugin\jpg/init" +#include "Controls4U/init" +#include "OpenCV/init" +#endif diff --git a/bazaar/OpenCV_demo/main.cpp b/bazaar/OpenCV_demo/main.cpp new file mode 100644 index 000000000..8e109369e --- /dev/null +++ b/bazaar/OpenCV_demo/main.cpp @@ -0,0 +1,52 @@ +#include + +void demo(Image &img) { + IplImage *src = ImageToCv(img); + + IplImage* dst = cvCreateImage(cvGetSize(src), 8, 1); + IplImage* color_dst = cvCreateImage(cvGetSize(src), 8, 3); + CvMemStorage* storage = cvCreateMemStorage(0); + CvSeq* lines = 0; + int i; + cvCanny(src, dst, 50, 200, 3); + cvCvtColor(dst, color_dst, CV_GRAY2BGR); + + lines = cvHoughLines2(dst, storage, CV_HOUGH_PROBABILISTIC, 1, CV_PI/180, 80, 30, 10); + for(i = 0; i < lines->total; i++) { + CvPoint* line = (CvPoint*)cvGetSeqElem(lines,i); + cvLine( color_dst, line[0], line[1], CV_RGB(255,0,0), 3, 8); + } + + cvNamedWindow("Source", 1); + cvShowImage("Source", src); + + cvNamedWindow("Hough", 1); + cvShowImage("Hough", color_dst); + + cvWaitKey(0); + + cvReleaseImage(&src); + cvReleaseImage(&dst); + cvReleaseImage(&color_dst); + + cvDestroyWindow("Source"); + cvDestroyWindow("Hough"); +} + + +GUI_APP_MAIN +{ + ImageWindow img("Image"); + + String fileName = AppendFileName(GetDesktopFolder(), "building.jpg"); + if (!FileExists(fileName)) { + Exclamation("Please set " + DeQtf(fileName)); + return; + } + img.image.Set(fileName); + + demo(img.image.Get()); + + img.Run(); +} +