/** * filter.c * OpenCV Introduction: Demo 1 * David Johnston, 2013-01-29 */ #include #include "cv.h" #include "highgui.h" void display(IplImage* img) { cvShowImage("DEBUG", img); cvWaitKey(0); } int main(int argc, char* argv[]) { // Load and show the original color image. IplImage* img = cvLoadImage("inputs/learningOpenCV.jpg", CV_LOAD_IMAGE_COLOR); // MACROS //display(img); IplImage* filtered = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1); //display(filtered); // Filter 'img'. cvCvtColor(img, filtered, CV_BGR2GRAY); cvSmooth(filtered, filtered, CV_GAUSSIAN, 3, 3, 0, 0); // In-place operations. cvThreshold(filtered, filtered, 160, 0xFF, CV_THRESH_BINARY); display(filtered); cvSaveImage("outputs/filtered.png", filtered, 0); cvNot(filtered, filtered); cvSaveImage("outputs/inverseFiltered.png", filtered, 0); // Note that the prototype is 'void cvReleaseImage(IplImage** image)' cvReleaseImage(&img); cvReleaseImage(&filtered); return 0; }