C# Emgu cv将圆环另存为图像
我是图像处理新手,在我的应用程序中,我想将检测到的圆保存为新图像,以下代码已用于存储检测到的圆 新圆F(新点F(圆[0]。中心.X+ grayframeright_1.ROI.Left,圆圈[0]。中心.Y+ grayframeright_1.ROI.Top),圆[0]。半径) emgu cv/open cv中是否有将圆保存为新图像的方法 请帮我弄清楚这一点,代码示例将非常有用C# Emgu cv将圆环另存为图像,c#,opencv,image-processing,geometry,emgucv,C#,Opencv,Image Processing,Geometry,Emgucv,我是图像处理新手,在我的应用程序中,我想将检测到的圆保存为新图像,以下代码已用于存储检测到的圆 新圆F(新点F(圆[0]。中心.X+ grayframeright_1.ROI.Left,圆圈[0]。中心.Y+ grayframeright_1.ROI.Top),圆[0]。半径) emgu cv/open cv中是否有将圆保存为新图像的方法 请帮我弄清楚这一点,代码示例将非常有用 如果我理解正确,请提前感谢,您想要的是拥有一个覆盖圆圈区域的遮罩,并将此遮罩应用于图像 为此,您需要一个面具: //i
如果我理解正确,请提前感谢,您想要的是拥有一个覆盖圆圈区域的遮罩,并将此遮罩应用于图像 为此,您需要一个面具:
//img is the image you applied Hough to
Image<Gray, byte> mask = new Image<Gray, byte>(img.Width, img.Height);
现在,遮罩将有一个中心位于点中心和半径半径的白色圆圈。在原始图像和该遮罩之间执行AND操作将仅将遮罩为白色的点(绘制圆的位置)复制到新图像
如果图像太大而圆太小,则可以在将图像保存为圆周围的区域之前,通过设置图像ROI来减小图像大小:
CvInvoke.cvCircle(mask.Ptr, center, radius, new MCvScalar(255, 255, 255), -1, Emgu.CV.CvEnum.LINE_TYPE.CV_AA, 0);
//-1 is to fill the area
dest.ROI = new Rectangle(center.X - radius, center.Y - radius, radius * 2, radius * 2);
你把圆圈另存为图像是什么意思?裁剪圆形区域中的图像?基本上,我想保存CircleF变量包含的圆形图像区域。。我将HoughCircles函数检测到的圆存储在CircleF变量中。因此,该变量包含图像的一个圆形部分,CircleF iris=new CircleF(iriscoordinate,circles[0]。Radius),所以我想把图像的一部分保存在我的硬盘上。。。。
dest.Save("C:/wherever...");
dest.ROI = new Rectangle(center.X - radius, center.Y - radius, radius * 2, radius * 2);