EmguCv常用数据类型及容器间转换

常用容器间转换 

//常用容器间转换
Bitmap bitmap = new Bitmap(100, 100);
Image<Bgr, byte> img = new Image<Bgr, byte>(imgBox.Width,imgBox.Height);
Mat mat = new Mat();
Bitmap bitmap2 = img.Bitmap;//Image->Bitmap
Image<Bgr, byte> img2 = new Image<Bgr, byte>(bitmap);//Bitmap->Image
Mat mat2 = img.Mat;//Image->Mat
Image<Bgr, byte> img3 = mat.ToImage<Bgr, byte>();//Mat->Image
//线段
LineSegment2D line1 = new LineSegment2D(new Point(0, 0), new Point(50, 50));
LineSegment2D line2 = new LineSegment2D(new Point(0, 50), new Point(50, 0));
double length = line1.Length;
double angle= line1.GetExteriorAngleDegree(line2);//计算两直线夹角
img.Draw(line1, new Bgr(Color.Red), 5);
imgBox.Image = img;
//绘制字符串
            string str = "Hello xu";
            img.Draw(str, new Point(50, 50), Emgu.CV.CvEnum.FontFace.HersheyComplexSmall, 1, new Bgr(Color.Red), 2);
            imgBox.Image = img;
//圆
            CircleF circle = new CircleF(new PointF(100, 100), 50);//指定圆形位置、半径
//三角形
            Triangle2DF tri = new Triangle2DF(new PointF(50, 0), new PointF(0, 50), new PointF(100, 50));
            PointF centerOid= tri.Centeroid;//重心
            PointF v0= tri.V0;
//矩形
            RotatedRect rect1 = new RotatedRect(new PointF(100, 100), new SizeF(50, 50), 0);
            Rectangle rect2 = new Rectangle(50, 50, 100, 100);

猜你喜欢

转载自blog.csdn.net/xjjatdna/article/details/85332646