From 0606ec24cbc1301b50f9f4bb2eae030d0658315f Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Tue, 9 Jul 2013 17:33:12 +0100 Subject: starting to wrap opencv --- opencv/hello-opencv.cpp | 69 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 opencv/hello-opencv.cpp (limited to 'opencv/hello-opencv.cpp') diff --git a/opencv/hello-opencv.cpp b/opencv/hello-opencv.cpp new file mode 100644 index 0000000..ed8de6b --- /dev/null +++ b/opencv/hello-opencv.cpp @@ -0,0 +1,69 @@ +//////////////////////////////////////////////////////////////////////// +// +// hello-world.cpp +// +// This is a simple, introductory OpenCV program. The program reads an +// image from a file, inverts it, and displays the result. +// +//////////////////////////////////////////////////////////////////////// + +//plan: +//incorporate opencv images into the Rotor::image class +//initially:: update to support existing operations +//should all functionality that accesses image pixels be a part of the image class? + + +#include +#include +#include +#include +#include + +#include "cvimage.h" + + +int main(int argc, char *argv[]) +{ + IplImage* img = 0; + int height,width,step,channels; + uchar *data; + int i,j,k; + + if(argc<2){ + printf("Usage: main \n\7"); + exit(0); + } + + // load an image + img=cvLoadImage(argv[1]); + if(!img){ + printf("Could not load image file: %s\n",argv[1]); + exit(0); + } + + // get the image data + height = img->height; + width = img->width; + step = img->widthStep; + channels = img->nChannels; + data = (uchar *)img->imageData; + printf("Processing a %dx%d image with %d channels\n",height,width,channels); + + // create a window + cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); + cvMoveWindow("mainWin", 100, 100); + + // invert the image + for(i=0;i