当我尝试使用tesseract软件包的功能时,我在xcode上遇到警告:
ocr->SetImage(im.data, im.cols, im.rows, 3, im.step);
我收到警告:
隐式转换将失去整数精度:将'size_t'(aka'unsigned long')转换为'int'
我该如何解决问题?
答案 0 :(得分:0)
参考:Implicit conversion,What is size_t?和this post。
如文档所述:
当值是时,隐式转换将自动执行 复制到兼容类型。
在您的情况下,尝试将 int 转换为 size_t 也是隐式转换。警告提及精度的原因:
根据 size_t 和 int 的这两个区别,程序假定将来可能会出现一些问题或精度损失。
根据您的情况,您可以简单地使用static_cast conversion转换size_t类型:
static_cast<int>(your_size_t_type_parameter)
注意:使用此方法可以消除警告,但可能会造成一些损失。例如,如果您的size_t值非常大。