[英]build Fortran .lib x64 bit on windows 10 using VS2015 and link it to C++
[英]OpenCV: Text does not display when using the Qt library with cvFontQt and cvAddText on Windows 10 in VS2015 x64 build
我正在尝试使用OpenCV从文本创建图像。 图像可能有也可能没有需要与之合并的叠加层。 文本的字体需要与OpenCV的C ++接口附带的HERSHEY文本不同。 我在本文和其他文章中看到,可以使用cvFontQt和cvAddText来完成。
我正在使用OpenCV 2.4.13和Qt 5.6。 在示例代码下面我可以输出第一行和第三行使用cvPutText与cvFont和HERSHEY然而使用cvAddText第二线与cvFontQt不显示。
#include "stdafx.h"
#include "opencv2\core\core_c.h"
#include "opencv2\highgui\highgui_c.h"
int main()
{
// Create a window for a container to hold the image
cvNamedWindow("cvtest", CV_WINDOW_AUTOSIZE);
IplImage *img = cvCreateImage(cvSize(600, 300), IPL_DEPTH_64F, 4);
// Set the image background to white
cvSet(img, cvScalar(255, 255, 255));
CvFont font;
cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 0.5, 0.5);
cvPutText(img, "cvInitFont; cvPutText: First line.", cvPoint(4, 30), &font, cvScalar(255));
CvFont fontqt = cvFontQt("Courier New", -1, cvScalar(0,0,255), CV_FONT_NORMAL, CV_STYLE_NORMAL, 0);
cvAddText(img, "cvFontQV; cvAddText: Second line.", cvPoint(4, 60), &fontqt);
cvPutText(img, "cvInitFont; cvPutText: Third line.", cvPoint(4, 90), &font, cvScalar(255));
cvShowImage("cvtest", img);
cvWaitKey(0);
cvSaveImage("C:\\OpenCvTest64F.jpg", img);
// Cleanup
cvDestroyAllWindows();
cvReleaseImage(&img);
return 0;
}
生成的图像(“ C:\\ OpenCvTest64F.jpg”):
我使用cvFontQt或cvAddText错误吗? 关于为什么它没有出现在图像中的任何想法?
使用浮点图像的任何特定原因? 如果不是,请尝试将图像初始化调整为:
IplImage *img = cvCreateImage(cvSize(600, 300), IPL_DEPTH_8U, 3);
使用3通道8位图像似乎可以解决此问题。
请注意,将颜色分配给浮点图像时,该值应在[0,1]范围内,而不是[0,255]。 而且,C ++ API更好!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.