Hello Mat

 找回密码
 立即注册
查看: 856|回复: 1

Opencv最大内接圆

[复制链接]

1306

主题

1532

帖子

114

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22685
发表于 2023-12-8 17:55:08 | 显示全部楼层 |阅读模式
  1.         public static void InnerCircle(Mat M_RectRegionFill, out int Row, out int Column, out double Radius)
  2.         {
  3.             Row = 0;
  4.             Column = 0;
  5.             Radius = 0.0;
  6.             Mat dt = new Mat();
  7.             Cv2.DistanceTransform(M_RectRegionFill, dt, DistanceTypes.L2, DistanceMaskSize.Mask3);   // 需要M_RectRegionFill
  8.             double min_val = 0;
  9.             double max_val = 0;
  10.             OpenCvSharp.Point minloc;
  11.             OpenCvSharp.Point maxloc;
  12.             Cv2.MinMaxLoc(dt, out min_val, out max_val, out minloc, out maxloc);
  13.             Radius = (Math.Abs(max_val));                        //对最大值求绝对值,即为内接圆半径
  14.             Row = maxloc.Y;
  15.             Column = maxloc.X;
  16.             //Mat Src = new Mat(M_RectRegionFill.Height, M_RectRegionFill.Width, M_RectRegionFill.Type(), Scalar.Black);
  17.             //Cv2.Circle(Src, maxloc.X, maxloc.Y, Radius, Scalar.White, 3, LineTypes.Link8, 0);
  18.             //return Src;
  19.             dt.Dispose();
  20.         }
复制代码
可参考:【1】OpenCVSharp 小练习 最大内接圆_using (mat src2 = cv2.imread(-CSDN博客
【2】如何寻找已知轮廓的最大内接圆 - jsxyhelu - 博客园 (cnblogs.com)
【3】如何寻找已知轮廓的最大内接圆-CSDN博客



算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复

使用道具 举报

1306

主题

1532

帖子

114

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22685
 楼主| 发表于 2023-12-11 13:51:53 | 显示全部楼层
  1. cv
复制代码
算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Python|Opencv|MATLAB|Halcom.cn ( 蜀ICP备16027072号 )

GMT+8, 2024-7-27 10:37 , Processed in 0.198594 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表