gpt4 book ai didi

c++ - 使用 OpenCV putText 在图像上打印时出错

转载 作者:可可西里 更新时间:2023-11-01 16:39:40 28 4
gpt4 key购买 nike

我正在尝试使用 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);

导致在图像上打印“???文本”。知道可能出了什么问题吗?

最佳答案

我不确定正确的协议(protocol)是什么,但我遇到了与@arbguy 完全相同的问题,我的修复是因为@Vlad 的评论。根据@Vlad 的评论,我检查了我是否为我的调试版本使用了正确的(调试)库。我不是。将库设置为库的调试版本修复了我的错误,我能够正确使用 cv::putText。这是我所做的(使用 visual studio 2012):

  1. 将我所有的 openCV .lib 引用设置为“d.lib”版本。您的引用资料会根据您使用的库而有所不同,但这里是我的引用资料:

    opencv_imgproc242d.lib
    opencv_core242d.lib
    opencv_highgui242d.lib
  2. 然后我必须将正确的 .dll 库复制到我的可执行目录中。我实际上有一个构建后步骤,将必要的 .dll 文件复制到二进制目录中。我还必须复制 "tbb_debug.dll"。它位于 %OPENCVDIR%\build\common\tbb\ia32\vc10(对于我的 32 位版本)。我必须复制的 .dll 文件的最终列表是: opencv_imgproc242d.dll opencv_core242d.dll opencv_highgui242d.dll

完成后一切正常!注意:我不是 C++ 专家,所以如果有人对此有更好的建议,我很高兴。另外,我不确定如何正确地归功于@Vlad 实际解决了这个问题,因为他提出了正确的解决方案。

关于c++ - 使用 OpenCV putText 在图像上打印时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9204953/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com