以下のように、ラベリングを実行するプログラムはできたのですが、ここから重心の座標や面積を求めるプログラムを作成したいです。どなたか、教えていただけますか?
最終的な目標としては、重心の座標と面積をコンソールで表示させることです。
環境はWindows 7 Visual Studio 2017です。
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6using OpenCvSharp; 7 8namespace Opencv_test12 9{ 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 // 入力画像読み込み 15 using (var src = new Mat("C:\\pictures\\sample2.jpg", ImreadModes.Color)) 16 // グレースケールに変換 17 using (var gray = src.CvtColor(ColorConversionCodes.BGR2GRAY)) 18 // 2値化 19 using (var binary = gray.Threshold(0, 255, ThresholdTypes.Otsu | ThresholdTypes.Binary)) 20 { 21 // ラベリング実行 22 var label = new MatOfInt(); 23 var stats = new MatOfInt(); // 行:ラベル数 列:5 24 var centroids = new MatOfDouble(); // 行:ラベル数 列:2 (x,y) 25 var nLabels = Cv2.ConnectedComponentsWithStats(binary, label, stats, centroids, PixelConnectivity.Connectivity8, MatType.CV_32SC1); 26 27 28 } 29 } 30 31 } 32}

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。