[問題] 問一個影像處理的基本問題

看板C_and_CPP (C/C++)作者時間15年前 (2010/11/06 11:55), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
# include "cv.h" # include "highgui.h" # include "math.h" # include "iostream" using namespace std ; void main() { CvSize dst_cvsize; dst_cvsize.width = 500 ; dst_cvsize.height = 500; IplImage *img = cvLoadImage( "Pollen1.bmp", -1 ) ; IplImage *dst=cvCreateImage( dst_cvsize, img->depth, img->nChannels); int x,y; //第一張影像的處理開始 int n=x*500+(y+1); CvScalar S[n]; CvScalar S1; //N個像素; int a,b; int sum; for(x=0;x<=499;x++) { for(y=0;y<=499;y++) {S[n]= cvGet2D(img, x, y); // Get the (x, y) pixel value } } for(a=0;a<=255;a++) { sum=0; for (b=1;b<=250000;b++) {if(a=S[b].val[0]) sum++; } cout << "跟第" <<a<<"個像素值相等的次數有"<<sum<<"個"<< endl;//檢查像素值相等的數量 } system( "PAUSE" ) ; } 這段程式碼還沒有寫完 出現的錯誤訊息是 1、error C2057: 必須是常數運算式 2、error C2466: 無法配置常數大小為 0 的陣列,常數必須為大於 0 的整數 3、error C2133: 'S' : 未知的大小 在opencv中點1、2和3的錯誤訊息都是出現在CvScalar S[n];這行 這邊出了什麼問題呢? ※ 編輯: turnoff11 來自: 163.30.170.207 (11/06 12:05)

11/06 12:18, , 1F
int n=x*500+(y+1); x=?,y=?
11/06 12:18, 1F

11/06 14:07, , 2F
要用動態配置記憶體?
11/06 14:07, 2F

11/06 18:17, , 3F
你沒宣告n ?
11/06 18:17, 3F

11/06 18:18, , 4F
就跟一樓的一樣...沒有初始值
11/06 18:18, 4F
文章代碼(AID): #1CrD6dU- (C_and_CPP)
文章代碼(AID): #1CrD6dU- (C_and_CPP)