本文整理汇总了C#中OpenCvSharp.CPlusPlus.Mat.At方法的典型用法代码示例。如果您正苦于以下问题:C# Mat.At方法的具体用法?C# Mat.At怎么用?C# Mat.At使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OpenCvSharp.CPlusPlus.Mat
的用法示例。
在下文中一共展示了Mat.At方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: imgTransformed_MouseMove
private void imgTransformed_MouseMove(object sender, MouseEventArgs e)
{
Point p = Image2BitmapCoordinate(imgTransformed, e.GetPosition(imgTransformed));
p.X = p.X / imgTransformed.Source.Width * 2 - 0.5; // グリッド内[0,1]
p.Y = p.Y / imgTransformed.Source.Height * 2 - 0.5; // グリッド内[0,1]
p.X = p.X * (vm.DstMaxX - vm.DstMinX) + vm.DstMinX; // グリッド内[DstMinX,DstMaxX]
p.Y = p.Y * (vm.DstMaxY - vm.DstMinY) + vm.DstMinY; // グリッド内[DstMinY,DstMaxY]
vm.DstMousePos = p;
if (imgTransformed.Source == null) return;
CV.Mat dstMousePos = new CV.Mat(3, 1, CV.MatType.CV_64F,
new double[] { vm.DstMousePos.X, vm.DstMousePos.Y, 1 });
CV.Mat homographyMatrixInv = new CV.Mat(3, 3, CV.MatType.CV_64F, vm.HomographyMatrix).Inv();//homographyはvm.HomographyMatrixの参照
CV.Mat srcMousePos = new CV.Mat(3, 1, CV.MatType.CV_64F);
srcMousePos = homographyMatrixInv * dstMousePos;
vm.SrcMousePos = new Point(srcMousePos.At<double>(0, 0) / srcMousePos.At<double>(0, 2),
srcMousePos.At<double>(0, 1) / srcMousePos.At<double>(0, 2));
}
示例2: imgRaw_MouseMove
private void imgRaw_MouseMove(object sender, MouseEventArgs e)
{
vm.SrcMousePos = Image2BitmapCoordinate(imgRaw, e.GetPosition(imgRaw));
if (imgTransformed.Source == null) return;
CV.Mat srcMousePos = new CV.Mat(3, 1, CV.MatType.CV_64F,
new double[] { vm.SrcMousePos.X, vm.SrcMousePos.Y, 1 });
CV.Mat homographyMatrix = new CV.Mat(3, 3, CV.MatType.CV_64F, vm.HomographyMatrix);//homographyはvm.HomographyMatrixの参照
CV.Mat dstMousePos = new CV.Mat(3, 1, CV.MatType.CV_64F);
dstMousePos = homographyMatrix * srcMousePos;
vm.DstMousePos = new Point(dstMousePos.At<double>(0, 0) / dstMousePos.At<double>(0, 2),
dstMousePos.At<double>(0, 1) / dstMousePos.At<double>(0, 2));
}