2

我正在使用opencvsharp。我正在制作一个程序来捕获网络摄像头 setream 并添加一些文本覆盖。这是代码

using (CvCapture cap = CvCapture.FromCamera(0))

        using (CvWindow w = new CvWindow("OpenCV Example"))

        {

            while (CvWindow.WaitKey(10) < 0)

            {

                using (IplImage src = cap.QueryFrame())

                using (IplImage gray = new IplImage(src.Size, BitDepth.U8, 1))

                using (IplImage dstCanny = new IplImage(src.Size, BitDepth.U8, 1))

                {

                   src.CvtColor(gray, ColorConversion.BgrToGray);

                  Cv.Canny(gray, dstCanny, 50, 50, ApertureSize.Size3);
                  CvFont font = new CvFontQt("MS UI Gothic", 48, CvColor.Red, FontWeight.Bold, OpenCvSharp.FontStyle.Italic);
                  dstCanny.AddText("Hello Qt!!", new CvPoint(50, dstCanny.Height - 50), font);

                   w.Image = dstCanny;

                }

            }

        }

我正在关注异常 OpenCvSharp.dll 中出现未处理的类型'OpenCvSharp.OpenCvSharpException'异常

附加信息:该库是在没有 Qt 支持的情况下编译的

在这条线上

CvFont font = new CvFontQt("MS UI Gothic", 48, CvColor.Red, FontWeight.Bold, OpenCvSharp.FontStyle.Italic);

请帮助我我错了什么?

4

1 回答 1

0

您可以使用“PutText”而不是“AddText”方法。例如:

dstCanny.PutText("Hello", new CvPoint(50, 50), new CvFont(FontFace.HersheyDuplex, 1, 1), CvColor.GreenYellow);
于 2015-02-05T12:15:18.460 回答