【C# Opencv机器视觉】 Opencv水位检测、液体高度检测、卡尺高度检测

【C# Opencv机器视觉】 Opencv水位检测、液体高度检测、卡尺高度检测_第1张图片

//安装OpencvSharp4
部分代码如下
  更新监控坐标();

            Mat roi = frame[识别区域];
            Mat hsv=new Mat();
            Mat 二值图 = new Mat();
            Mat 闭运算=new Mat();
            Mat 结构 ;

            //转为hsv
            Cv2.CvtColor(roi,hsv,ColorConversionCodes.BGR2HSV);
            //转二值图
            Cv2.InRange(hsv, hsvlower, hsvupper, 二值图);
            //结构化,填充噪点
            OpenCvSharp.Size s = new OpenCvSharp.Size(6,6);
            结构 = Cv2.GetStructuringElement(MorphShapes.Rect, s);
            //形态学变换
            Cv2.MorphologyEx(二值图,闭运算, MorphTypes.Close, 结构,null,2);
            //计算高度
            OpenCvSharp.Point 茶面左边 = new OpenCvSharp.Point();
            OpenCvSharp.Point 茶面右边 = new OpenCvSharp.Point();

            //线条颜色配置
            Scalar color = new Scalar(255, 0, 255);
            OpenCvSharp.Point 线起点, 线终点;
            if (判断刻度(闭运算,ref 茶面左边,ref 茶面右边))
            {
                茶高度 = roi.Height - 茶面左边.Y;

                线起点 = new OpenCvSharp.Point(识别区域.X + 茶面左边.X, 识别区域.Y + 茶面左边.Y);
                线终点 = new OpenCvSharp.Point(识别区域.X + 茶面右边.X+20, 识别区域.Y + 茶面右边.Y);
                Cv2.Line(frame, 线起点, 线终点, color, 2);
                Cv2.PutText(frame, 茶高度.ToString(), 线终点,HersheyFonts.HersheySimplex,0.5,color,2);
                textBox1.Text = 茶高度.ToString();
            }
            Cv2.Rectangle(frame, 识别区域,color,1);




你可能感兴趣的:(机器视觉,opencv,计算机视觉,python)