使用OpenCV putText在图像上打印时出错
Error when printing on an image using OpenCV putText
我正在尝试使用cv::putText
在图像(cv::Mat
)上打印文本
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);
但这会导致运行时出现访问冲突错误。而
cv::putText(img, "text", textOrg, fontFace, fontScale, Scalar::all(255), thickness,8);
导致在图像上打印"???文本"。你知道可能出了什么问题吗?
我不确定正确的协议是什么,但我遇到了与@arbguy完全相同的问题,我的修复是因为@Vlad的评论。从@Vlad的评论中,我检查了一下我的调试构建是否使用了正确的(调试)库。我没有。将库设置为库的调试版本修复了我的错误,我能够正确使用cv::putText。以下是我所做的(使用visual studio 2012):
-
将我所有的openCV.lib引用设置为"d.lib"版本。根据你使用的库,你的参考文献会有所不同,但这里是我的参考文献:
opencv_imgproc242d.lib opencv_core242d.lib opencv_highgui242d.lib
-
然后,我不得不将正确的.dll库复制到我的可执行目录中。实际上,我有一个构建后的步骤,将必要的.dll文件复制到二进制目录中。我还必须复制
"tbb_debug.dll"
。它位于%OPENCVDIR%buildcommontbbia32vc10
中(对于我的32位版本)。我必须复制的.dll文件的最终列表是:opencv_imgproc242d.dllopencv_core242d.dllopencv_higigui242d.dll
做了这些之后,一切都成功了!注意:我不是C++专家,所以如果有人对此有更好的建议,我很高兴。此外,我不知道如何正确地赞扬@Vlad真正解决了这个问题,因为他是提出正确解决方案的人。
相关文章:
- 如何循环打印顶点结构
- 泛型函数反向打印任何矢量,编译器出错
- 打印 Map 的元素值时出错
- 为什么我在打印这个结构指针时出错
- 返回 char* 出错,打印好,返回不好(c++)
- 打印没有索引 cpp 的字符数组时出错
- 使用 std::transform 打印映射<字符串、矢量<字符串*时出错> >
- 在Qt中打印8字节整数时出错
- 打印BST遍历时出错-分段错误
- 使用OpenCV putText在图像上打印时出错
- 从对象打印二维矢量时出错
- Visual Studio在打印函数地址时出错
- 发送 std::矢量<size_t>数组到函数和打印时出错
- c++:尝试从链表中的第二个节点(虚拟节点)开始打印时出错
- 我的堆栈使用链表时出错.无法打印数字循环.(C++)
- 我的堆栈的打印代码出现分段错误,不知道我哪里出错了。
- 用c++读取和打印文本文件时出错
- 打印出在指向字符串的指针中获取的数据时出错
- 打印字符串的所有子字符串时出错
- 尝试打印对象列表的矢量时出错