ultimatepp/bazaar/OpenCV_demo/main.cpp
koldo 357142cc17 .OpenCV_demo: Update
git-svn-id: svn://ultimatepp.org/upp/trunk@12571 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2018-11-25 11:16:27 +00:00

52 lines
1.2 KiB
C++

#include <OpenCV/OpenCV.h>
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;
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(int 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 = GetDataFile("building.jpg");
if (!FileExists(fileName)) {
Exclamation("File building.jpg not found. Please check source");
return;
}
img.image.Set(fileName);
demo(img.image.Get());
img.Run();
}