gpt4 book ai didi

c++ - OpenCV CvSVM.predict() 决策函数取值

转载 作者:行者123 更新时间:2023-11-28 07:02:03 24 4
gpt4 key购买 nike

我正在使用 Bag of Words 训练图像。但是,每次我更改 if 语句或符号中的条件值时,例如来自 if(response<0)if(response>0)或来自 if(response<-1)if(response<-0.5)我得到不同的结果 results.push_back(response) .我不知道为什么会这样。我只是改变条件,仅此而已。请帮我解决这个问题。提前致谢。

int i, j;
for(i=1;i<=img.cols-width;i=i+20){
for(j=1;j<=img.rows-height;j=j+20){
vector<KeyPoint>keypoints;
Mat ROI = img(Rect(i, j, w, h));
detector.detect(ROI,keypoints);
if (keypoints.data()){
Mat bowDescriptor2;
bowDE.compute(img,keypoints,bowDescriptor2);
evalData.push_back(bowDescriptor2);
std::cout<<"SVM predicting..."<<std::endl;
float response = svm.predict(bowDescriptor2,1);
results.push_back(response);
std::cout<<response<<std::endl;
if(response<0)
{
static CvScalar RED = {0, 0, 255};
rectangle(img, Point(i,j), Point(i+w,j+h), RED, 3, 8, 0);
cvNamedWindow( "result", 1 );
imshow( "result", img );
}
}

}

}

最佳答案

我发现我错在哪里了。问题是我不能在此处使用相同的图像作为输入 rectangle(img, Point(i,j), Point(i+w,j+h), RED, 3, 8, 0)。因此,我读取图像并将其定义为 img 以及 img2 然后我将 img 替换为 img2 矩形

关于c++ - OpenCV CvSVM.predict() 决策函数取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22290815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com