1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| #include "cv.h"
#include "cxcore.h"
#include "highgui.h"
IplImage* img_NB;
IplImage* img_dist;
IplImage* img_dist_8U;
IplImage* img_dist_lap;
IplImage* img_squel;
IplImage* img_squel2;
//IplImage* newImg;
//IplImage* squeletteImg;
int threshold = 120, maxValue = 255;
int thresholdType = CV_THRESH_BINARY;
int main()
{
IplImage* img_NB = NULL;
IplImage* img_squel = NULL;
cvNamedWindow("src", 1);
cvNamedWindow("squellete",1);
//load original image
img_NB = cvLoadImage("apple.jpg",1);
cvShowImage( "src", img_NB );
//make a copy of the original image
img_squel=cvCloneImage( img_NB );
cvDistTransform(img_NB,img_dist,CV_DIST_L2,3,0,0);
cvConvertScale(img_dist,img_dist_8U,1,0);
cvLaplace(img_dist,img_dist_lap,3);
cvThreshold(img_dist_lap,img_squel,-1,255,CV_THRESH_BINARY);
cvThreshold(img_dist_lap,img_squel2,-2,255,CV_THRESH_BINARY);
cvShowImage( "squelette", img_squel );
cvWaitKey(0);
cvDestroyWindow( "src" ); cvDestroyWindow( "squelette" );
cvReleaseImage( &img_NB ); cvReleaseImage( &img_squel );
return 0;
} |
Partager