ورود

View Full Version : علت خطاهای این کد چیست؟ visual c++



زینب حسینی
پنج شنبه 02 شهریور 1391, 18:32 عصر
سلام
من کد زیر رو نوشتم که تابع هایی که قبل از تابع main تعریف شدن خطاهای زیر را میده.چرا؟
کد:

#include "stdafx.h"


#include "cv.h"



#include "highgui.h"

//Canny Edge Detector



IplImage* doCanny( IplImage* in, double lowThresh, double highThresh, int aperture)

{

if(in->nChannels != 1)

return(0); //Canny only handles gray scale images


IplImage* out = cvCreateImage( cvGetSize(in), IPL_DEPTH_8U, 1 );


cvCanny( in, out, lowThresh, highThresh, aperture );

return( out );


};


//Sobel Edge Detector

IplImage* doSobel( IplImage* in, int xOrder, int yOrder, int aperture)

{

if(in->nChannels != 1)


return(0); //Sobel only handles gray scale images

IplImage* temp = cvCreateImage( cvGetSize(in), IPL_DEPTH_16S, 1 );


IplImage* out = cvCreateImage( cvGetSize(in), IPL_DEPTH_8U, 1 );


cvSobel( in, temp, xOrder, yOrder, aperture );

cvConvertScale(temp, out);


cvReleaseImage(&temp);


return( out );

};

//Image Resize



IplImage* doResize( IplImage* in, int filter = CV_INTER_LINEAR )



{



IplImage* out = cvCreateImage(


cvSize( in->width/2, in->height/2 ), in->depth, in->nChannels );

cvResize( in, out, filter );

return( out );


};

int main( int argc, char** argv ) {


const char* imagename = argc > 1 ? argv[1] : "p.jpg";



IplImage* img = cvLoadImage(imagename);


IplImage* resized = doResize(img);



IplImage* g = cvCreateImage( cvGetSize(img), IPL_DEPTH_8U, 1 );



cvSplit(img, 0, g, 0, 0);



IplImage* cedge = doCanny(g, 50, 175, 3);



IplImage* sedge = doSobel(g, 0, 1, 3);


cvShowImage("Original", img);



cvShowImage("Green Channel", g);



cvShowImage("Resized", resized);



cvShowImage("Canny Edge", cedge);



cvShowImage("Sobel Edge", sedge);







cvSaveImage("Green channel.jpg", g);



cvSaveImage("Resized.jpg", resized);



cvSaveImage("Canny Edge.jpg", cedge);



cvSaveImage("Sobel Edge.jpg", sedge);



cvWaitKey(0);



// Release memory and destroy window



cvReleaseImage( &resized );



cvReleaseImage( &g );



cvReleaseImage( &cedge );



cvReleaseImage( &sedge );



cvReleaseImage( &img );



cvDestroyWindow( "Original" );



cvDestroyWindow( "Green Channel" );



cvDestroyWindow( "Resized" );



cvDestroyWindow( "Canny Edge" );



cvDestroyWindow( "Eobel Edge" );


return(0);

}

خطاها:
Error 1 error C2275: 'IplImage' : illegal use of this type as an expression c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 26
Error 2 error C2065: 'out' : undeclared identifier c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 26
Error 3 error C2065: 'out' : undeclared identifier c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 29
Error 5 error C2065: 'out' : undeclared identifier c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 31
Error 7 error C2275: 'IplImage' : illegal use of this type as an expression c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 48
Error 8 error C2065: 'temp' : undeclared identifier c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 48
Error 9 error C2275: 'IplImage' : illegal use of this type as an expression c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 51
Error 10 error C2065: 'out' : undeclared identifier c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 51
Error 11 error C2065: 'temp' : undeclared identifier c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 54
Error 13 error C2065: 'temp' : undeclared identifier c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 56
Error 15 error C2065: 'out' : undeclared identifier c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 56
Error 17 error C2198: 'cvConvertScale' : too few arguments for call c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 56
Error 18 error C2065: 'temp' : undeclared identifier c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 59
Error 21 error C2065: 'out' : undeclared identifier c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 62
Error 23 error C2143: syntax error : missing ')' before '=' c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 70
Error 24 error C2072: 'doResize' : initialization of a function c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 70
Error 25 error C2059: syntax error : ')' c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 70
Error 26 error C2143: syntax error : missing ';' before '{' c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 74
Error 27 error C2449: found '{' at file scope (missing function header?) c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 74
Error 28 error C2059: syntax error : '}' c:\documents and settings\administrator\my documents\visual studio 2010\projects\i\i\i.cpp 88

حامد مصافی
شنبه 04 شهریور 1391, 16:07 عصر
لایبرری OpenCV به پروژه اضافه نشده

hossein_v1993
چهارشنبه 01 خرداد 1392, 03:21 صبح
بعد از هدر ها این رو وارد کن:
using name space std; OK