OpenCvSharp颜色识别流程为:
- 读取RGB图片
- 转化为HSV模型
- 输入识别颜色的HSV范围,使用InRange函数进行颜色识别
- 图像处理,将识别区域突出显示
界面设计:
核心代码:
private Bitmap _ShowHsvProcess(string path,int hMin,int hMax,int sMin,int sMax,int vMin,int vMax)
{
Mat src = new Mat(path, ImreadModes.AnyColor);
Mat hsv = new Mat();
Cv2.CvtColor(src, hsv, ColorConversionCodes.BGR2HSV); //转化为HSV
Mat dst = new Mat();
Scalar scL = new Scalar(hMin, sMin, vMin);
Scalar scH = new Scalar(hMax, sMax, vMax);
Cv2.InRange(hsv, scL, scH, dst); //获取HSV处理图片
var kernel = Cv2.GetStructuringElement(MorphShapes.Rect, new OpenCvSharp.Size(20,