我正在尝试cv::Mat使用图像()打印文本cv::putText
string text = "Funny text inside the box";
int fontFace = FONT_HERSHEY_SCRIPT_SIMPLEX;
double fontScale = 2;
int thickness = 3;
cv::Point textOrg(10, 130);
cv::putText(img, text, textOrg, fontFace, fontScale, Scalar::all(255), thickness,8);
Run Code Online (Sandbox Code Playgroud)
但这会导致运行时出现访问冲突错误.而
cv::putText(img, "text", textOrg, fontFace, fontScale, Scalar::all(255), thickness,8);
Run Code Online (Sandbox Code Playgroud)
导致"??? text"被打印在图像上.什么可能出错?
我不确定这是什么正确的协议,但我和@arbguy有完全相同的问题,我的修复是因为@ Vlad的评论.从@ Vlad的评论中我检查了我是否在为我的Debug构建使用正确的(调试)库.我不是.将库设置为库的调试版本修复了我的错误,我能够正确使用cv :: putText.这就是我所做的(使用visual studio 2012):
将我的所有openCV .lib引用设置为"d.lib"版本.根据您使用的库,您的参考文献会有所不同,但以下是我的参考资料:
opencv_imgproc242d.lib
opencv_core242d.lib
opencv_highgui242d.lib
Run Code Online (Sandbox Code Playgroud)然后我不得不将正确的.dll库复制到我的可执行文件目录中.我实际上有一个后期构建步骤,将必要的.dll文件复制到二进制目录中.我也必须复制"tbb_debug.dll".它位于%OPENCVDIR%\build\common\tbb\ia32\vc10(对于我的32位版本).的.dll文件的最终名单我有超过被复制:opencv_imgproc242d.dll opencv_core242d.dll opencv_highgui242d.dll
这样做之后一切正常!注意:我不是C++专家,所以如果有人有更好的建议,我很高兴.此外,我不确定如何正确地归功于@Vlad实际解决这个问题,因为他是建议正确解决方案的人.
| 归档时间: |
|
| 查看次数: |
41246 次 |
| 最近记录: |