尝试使用dlib
处理图像时出现以下错误。我正在使用facial-recognition
npm软件包,但这只是dlib
的包装。
**************************** FATAL ERROR DETECTED ****************************
Error detected at line 1971.
Error detected in file /Users/botvinick/Desktop/GitHub/api.benbotvinick.com/node_modules/dlib-build/dlib/dlib/dlib/dnn/cpu_dlib.cpp.
Error detected in function void dlib::cpu::tensor_conv::operator()(const bool, dlib::tensor &, const dlib::tensor &, const dlib::tensor &).
Failing expression was filters.nr() <= data.nr() + 2*last_padding_y.
Filter windows must be small enough to fit into the padded image.
******************************************************************************
libc++abi.dylib: terminate_handler unexpectedly returned
我尝试了不同类型和尺寸的图像,但无济于事。
编辑:可能重要的是要提到我是从URL获取图像并将其转换为CvImage
。也许在转换过程中的某个地方,图像被截断了,但问题仍然存在,如何防止这种情况发生?
答案 0 :(得分:0)
将图像尺寸转换为正方形,例如100x200-> 100x100或200x200。您需要根据实际图像做出判断,是放大还是缩小还是沿一个方向(x或y)截断。由于缩放可能会使适当的填充变形以使其成为正方形图像,因此可能会有所帮助。