我有两个连续的图像,我想在 C# 中使用 EmguCv 来稳定它们。
我找到了很多关于如何执行图像稳定的信息,但是我找不到任何关于如何使用 Emgu 稳定两个连续帧的详细说明(实际代码示例)。
我明白我必须执行以下操作:
所以基于以上我尝试进行图像稳定。
我有两个连续的帧:
Image<Gray, ushort> FirstImage = new Image<Gray, ushort>(Width, Height);
Image<Gray, ushort> SecondImage= new Image<Gray, ushort>(Width, Height);
Run Code Online (Sandbox Code Playgroud)
我尝试计算好的特征:
Emgu.CV.Features2D.GFTTDetector _GFTTdetector = new Emgu.CV.Features2D.GFTTDetector(500,0.05);
var GFP1 = _GFTTdetector.Detect(FirstImage);
Run Code Online (Sandbox Code Playgroud)
但是,当我调用 .Detect 时,我收到 OpenCV 异常,并且无法继续:
$Exception {"OpenCV: scn == 3 || scn == 4"} Emgu.CV.Util.CvException
有谁知道为什么我会得到这个例外?
此外,如果有人可以发布如何使用以下函数的示例代码,我将不胜感激,因为我不确定我将使用哪些输入参数:
CvInvoke.CalcOpticalFlowPyrLK()CvInvoke.cvFindHomography()CvInvoke.cvWarpPerspective()最后 _GFTTdetector.Detect()返回一个KeyPoint[]类型,但是CvInvoke.CalcOpticalFlowPyrLK()只接受 …