gpt4 book ai didi

c++ - 我的应用程序在 KNearest::find_nearest 处崩溃

转载 作者:行者123 更新时间:2023-11-28 06:45:47 25 4
gpt4 key购买 nike

我想实现 OCR 功能。

我收集了一些样本,我想用K-Nearest来实现它。

所以,我使用下面的代码加载数据并初始化 KNearest

KNearest knn = new KNearest;
Mat mData, mClass;
for (int i = 0; i <= 9; ++i)
{
Mat mImage = imread( FILENAME ); // the filename format is '%d.bmp', presenting a 15x15 image
Mat mFloat;
if (mImage.empty()) break; // if the file doesn't exist

mImage.convertTo(mFloat, CV_32FC1);
mData.push_back(mFloat.reshape(1, 1));
mClass.push_back( '0' + i );
}

knn->train(mData, mClass);

然后,我调用代码以找到最佳结果

for (vector<Mat>::iterator it = charset.begin(); it != charset.end(); ++it)
{
Mat mFloat;
it->convertTo(mFloat, CV_32FC1); // 'it' presents a 15x15 gray image
float result = knn->find_nearest(mFloat.reshape(1, 1), knn->get_max_k());
}

但是,我的应用程序在 find_nearest 处崩溃了。

谁能帮帮我?

最佳答案

我好像找到问题了...

我的示例图像是由 cvtColor 转换后的灰度图像,但我的输入图像不是。

添加后

cvtColor(mImage, mImage, COLOR_BGR2GRAY);

之间

if (mImage.empty()) break;
mImage.convertTo(mFloat, CV_32FC1);

find_nearest() 返回一个值,我的应用程序没问题。

关于c++ - 我的应用程序在 KNearest::find_nearest 处崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25014965/

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