我正在进行人脸识别,并在编译时遇到错误。 我显示窗口框架的代码如下:
int pos_x = std::max(face_i.tl().x - 10, 0);
int pos_y = std::max(face_i.tl().y - 10, 0);
putText(original, box_text, Point(pos_x, pos_y), FONT_HERSHEY_PLAIN, 1.0, CV_RGB(0,255,0), 2.0);
我在第三行遇到此错误:warning C4244: 'argument' : conversion from 'double' to 'int', possible loss of data
如何编辑我的代码来解决这个问题?
答案 0 :(得分:3)
根据documentation,第七个参数是
int thickness = 1
您正在传递浮点文字2.0
,需要将其转换为int
,并且您的编译器已配置为警告此类"缩小"转换。这是一个好主意,因为它们经常会导致错误。
最佳解决方案是传递一个不需要转换的整数文字2
。
答案 1 :(得分:0)
我猜这是最后一个论点,2.0尝试只写2