▶ Language : C#
▶ IDE : Visual Studio 2017
using OpenCvSharp.Blob;
using OpenCvSharp;
Mat src = new Mat(@"d:\OpencvSharp\\blob1.png");
Mat dst = new Mat();
// src image load check
if (src.Empty() == true) return;
// bgr to gray convert (opencv - bgr 순서)
Cv2.CvtColor(src, dst, ColorConversionCodes.BGR2GRAY);
Cv2.Threshold(dst, dst, 0, 255, ThresholdTypes.Otsu);
Cv2.ImShow("src", src);
Cv2.ImShow("dst", dst);
// Shallow Copy
Mat result = src;
// Deep Copy
//src.CopyTo(result);
//Mat result1 = src.Clone();
//Mat result = new Mat(src.Size(), MatType.CV_8UC3);
CvBlobs blobs = new CvBlobs();
blobs.Label(dst);
blobs.RenderBlobs(src, result);
foreach (var item in blobs)
{
// KeyValuePair<int, CvBlob> = item
// int - label Number, CvBlob - Blob detection 정보
CvBlob blob = item.Value;
// StartingPoint - bounding box center x,y (label 시작 위치)
Cv2.Circle(result, blob.Contour.StartingPoint, 4, Scalar.Red, 2, LineTypes.AntiAlias);
Cv2.PutText(result, blob.Label.ToString(), new OpenCvSharp.Point(blob.Centroid.X, blob.Centroid.Y), HersheyFonts.HersheyComplex, 1, Scalar.Yellow, 2, LineTypes.AntiAlias);
}
// result image output
Cv2.ImShow("reslut", result);
Cv2.WaitKey(0);
Cv2.DestroyAllWindows();
'Language - C# > C#(OpencvSharp)' 카테고리의 다른 글
[C# - OpencvSharp] (0) | 2022.05.17 |
---|---|
C# OpencvSharp - SetTo (0) | 2021.11.08 |