我有一个非常简单的问题,我被卡住了。基本上,我有一个Alphabet数据库,我想逐个访问每个字母。例如,要访问字母A的图像,我必须写 -
ReadImg["A"] >> Letter;
我需要扫描所有字母,因此我将增加int x。问题出在ASCII转换中。当我以“(char)x”的形式放置一个字母时,编译器将“(char)x”视为(char)x而不是将其视为字母(例如“A”)。有人能指出可能的解决方案吗?
void ReadDatabase(Mat &Letter, int x = 65)
{
cv::FileStorage ReadImg("Alphabet.yml", FileStorage::READ);
ReadImg["(char)x"] >> Letter;
ReadImg.release();
cv::namedWindow("Letter");
cv::imshow("Letter",Letter);
cv::waitKey();
}
提前致谢
答案 0 :(得分:0)
你可以试试这个:
ReadImg[string(1,(char)x)] >> Letter;
它会将您的变量x
转换为相应的字符并将其转换为字符串..
答案 1 :(得分:0)
ReadImg[ cv::format("%c",x) ] >> Letter;