NI Vision画坐标系


double angle = 20;
            int origionX = imageViewer.Image.Width/2;
            int origionY = imageViewer.Image.Height/2;

            PointContour pcOrigion = new PointContour(origionX, origionY);
            RotatedRectangleContour rrcOrigion = new RotatedRectangleContour();
            rrcOrigion.Center = pcOrigion;
            rrcOrigion.Width = 20;
            rrcOrigion.Height = 20;

            LineContour lcAxisX = new LineContour();
            LineContour lcAxisY = new LineContour();
            lcAxisX.Start = pcOrigion;
            lcAxisX.End.X = pcOrigion.X + 500;
            lcAxisX.End.Y = pcOrigion.Y;
            lcAxisY.Start = pcOrigion;
            lcAxisY.End.X = pcOrigion.X;
            lcAxisY.End.Y = pcOrigion.Y + 500;

            PointContour[] pcAxisXArrows = new PointContour[3];
            PointContour[] pcAxisYArrows = new PointContour[3];
            pcAxisXArrows[0] = lcAxisX.End;
            pcAxisXArrows[1] = new PointContour(lcAxisX.End.X - 6, lcAxisX.End.Y - 2);
            pcAxisXArrows[2] = new PointContour(lcAxisX.End.X - 6, lcAxisX.End.Y + 2);
            pcAxisYArrows[0] = lcAxisY.End;
            pcAxisYArrows[1] = new PointContour(lcAxisY.End.X - 2, lcAxisY.End.Y - 6);
            pcAxisYArrows[2] = new PointContour(lcAxisY.End.X + 2 , lcAxisY.End.Y - 6);

            PolygonContour pcAxisXArrow = new PolygonContour(pcAxisXArrows);
            PolygonContour pcAxisYArrow = new PolygonContour(pcAxisYArrows);

            CoordinateSystem csRefer = new CoordinateSystem();
            CoordinateSystem csMeasure = new CoordinateSystem();

            csRefer.Origin.X = pcOrigion.X;// = new CoordinateSystem(pmsPcbLocal[0].Position, pmsPcbLocal[0].Rotation, AxisOrientation.Direct);
            csRefer.Origin.Y = pcOrigion.Y;
            csRefer.Angle = 0;
            csRefer.AxisOrientation = AxisOrientation.Direct;

            csMeasure.Origin = pcOrigion;
            csMeasure.Angle = angle;
            csMeasure.AxisOrientation = AxisOrientation.Direct;

            CoordinateTransform ct = new CoordinateTransform(csRefer, csMeasure);

            Roi roi = new Roi();
            roi.Add(rrcOrigion);
            roi.Add(lcAxisX);
            roi.Add(lcAxisY);
            roi.Add(pcAxisXArrow);
            roi.Add(pcAxisYArrow);

            Algorithms.TransformRoi(roi, ct);
            //PointSymbol ps = new PointSymbol(PointSymbolType.Cross);
            //imageViewer.Image.Overlays.Default.TransformBehaviors.
            imageViewer.Image.Overlays.Default.AddRoi(roi);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值