【问题标题】:How to change invert frames in EmguCV?如何更改 EmguCV 中的反转帧?
【发布时间】:2013-12-27 03:37:17
【问题描述】:

目前,我正在开发一个实时 IRIS 检测应用程序。

我想对从网络摄像头拍摄的帧执行反转操作,如下所示:

我设法得到了这行代码,但这并没有给出上述结果。也许参数需要改变,但我不确定。

CvInvoke.cvThreshold(grayframeright, grayframeright, 160, 255.0, Emgu.CV.CvEnum.THRESH.CV_THRESH_BINARY_INV);

【问题讨论】:

    标签: c# image-processing computer-vision emgucv


    【解决方案1】:

    从上面的图片感觉第二张图片是第一张图片的底片(如果我错了,请纠正我),

    您使用的函数是阈值函数,即如果它在指定的颜色范围之间,则将所有内容呈现为白色,否则将其呈现为黑色。

    要查找图像的底片,您可以使用以下方法之一。

    对图像取非。

     Image<Bgr, Byte> img2 = img1.Not();// imag1 can be a static image or your current captured frame
    

    有关更多详细信息,您可以参考文档here

    【讨论】:

    • 您可以使用适用于同一图像的 _Not()。
    【解决方案2】:

    如果要反转图像,可以执行以下操作:

    Mat white = Mat::ones(grayframeright.rows, grayframeright.cols, grayframeright.type);
    Mat dst = white - grayframeright;
    

    另请注意,可以使用 OpenCV 检测器检测瞳孔,该检测器使用 OpenCV 代码随附的眼睛的 HAAR 级联初始化。

    【讨论】:

    • 感谢您的回答由于我在 EmguCV 中进行开发,因此我正在寻找一个 C# 代码,我正在使用 haar 级联进行眼睛检测,但找不到用于瞳孔检测的代码。如果您有任何 haar 级联,请与我们分享,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多