Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Emgu cv将圆环另存为图像_C#_Opencv_Image Processing_Geometry_Emgucv - Fatal编程技术网

C# Emgu 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

我是图像处理新手,在我的应用程序中,我想将检测到的圆保存为新图像,以下代码已用于存储检测到的圆

新圆F(新点F(圆[0]。中心.X+ grayframeright_1.ROI.Left,圆圈[0]。中心.Y+ grayframeright_1.ROI.Top),圆[0]。半径)

emgu cv/open cv中是否有将圆保存为新图像的方法

请帮我弄清楚这一点,代码示例将非常有用


如果我理解正确,请提前感谢

,您想要的是拥有一个覆盖圆圈区域的遮罩,并将此遮罩应用于图像

为此,您需要一个面具:

//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);