作者deo2000 (800IM)
看板C_and_CPP
標題[問題] debug 的時候 for loop 被跳過
時間Sat Aug 25 00:07:22 2012
檢查過很多遍了
確定沒有奇怪的符號、沒有contiune、沒有break,但for loop就是會被無視
else if(0==face.capacity())
{
cv::cvtColor(frameVideo,frameSkinProcess,cv::COLOR_BGR2HSV,0);
cv::inRange(frameSkinProcess,cv::Scalar(0,0.23*255,0,0),cv::Scalar(25,0.68*255,255,255),frameSkinProcess);
cv::threshold(frameSkinProcess,frameSkinProcess,0,255,CV_THRESH_BINARY);
cv::Mat d1_img, d3_img, e1_img, e3_img;
cv::morphologyEx(frameSkinProcess,frameSkinProcess,cv::MORPH_OPEN,d1_img,cv::Point(NULL,NULL),3);
//cv::erode(frameSkinProcess,frameSkinProcess,d1_img,cv::Point(NULL,NULL),3);
cv::imshow("frameSkinProcess(HSV)",frameSkinProcess);
/*以上的每一行都會被執行*/
unsigned int WeightX,WeightY;
for(int i=0;i<frameSkinProcess.cols;i++)
for(int j=0;j<frameSkinProcess.rows;j++)
{
WeightX=i*frameSkinProcess.at<uchar>(i,j);
WeightY=j*frameSkinProcess.at<uchar>(i,j);
}
}
//frameSkinProcess.cols == 320
//frameSkinProcess.rows == 240
//我直接改成整數也沒用阿 哭哭
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.167.217
※ 編輯: deo2000 來自: 140.122.167.217 (08/25 00:09)
推 diabloevagto:被最佳化了吧 08/25 00:11
推 diabloevagto:你把weight印出來,使用到的就不會被opt了 08/25 00:12
果然是...
寫這麼久終於了解 debug 和 release 的不同了
難怪 release 速度會快這麼多
※ 編輯: deo2000 來自: 140.122.167.217 (08/25 00:19)