i want learn image processing in c++
, don't want use 3rd party library image manipulation. use of library displaying image(s) okay, manipulations done manually.
please point me tutorials. i'm beginner in field, need know how display image.
seems lack basic knowledge of digital image processing, recommand book. digital image processing (3rd edition) rafael c.gonzalez / richard e.woods http://www.amazon.com/dp/013168728x
for basic operation using opencv(which familiar with), here example:
/* function:image reverse */ #include "stdafx.h" #include <stdlib.h> #include <stdio.h> #include <math.h> #include <cv.h> #include <highgui.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 <image-file-name>/n/7"); exit(0); } // load image img=cvloadimage(argv[1],-1); if(!img) { printf("could not load image file: %s\n",argv[1]); exit(0); } // acquire image info height = img->height; width = img->width; step = img->widthstep; channels = img->nchannels; data = (uchar *)img->imagedata; printf("processing %dx%d image %d channels/n",height,width,channels); // create display window cvnamedwindow("mainwin", cv_window_autosize); cvmovewindow("mainwin", 100, 100); // reverse image for(i=0;i<height;i++) for(j=0;j<width;j++) for(k=0;k<channels;k++) data[i*step+j*channels+k]=255-data[i*step+j*channels+k]; // display reversed image cvshowimage("mainwin", img ); cvwaitkey(0); cvreleaseimage(&img ); printf("height=%d width=%d step=%d channels=%d",height,width,step,channels); return 0; }
Comments
Post a Comment