
Visual Studio C#
OpenCvSharp4 (4.1.0.20190416)
Form上にpictureBoxを1つ配置
ある領域の位置座標を検出するプログラムを作成しています。
(たとえば空の写真の中の雲を探すというような)
以下のプログラムで2値化した領域の中心(重心?)座標を得ることはできるのですが
添付画像のようにC型の雲だったり、ドーナツ状の穴の開いた雲だったりする場合に
検出した座標は白領域外(黒い部分上)になってしまいます。
このような画像でそれなりに白い領域の中心座標を得たいのですが
良い方法などありますでしょうか?
ご教授いただければ幸いです。
=========================================================
using System;
using System.Windows.Forms;
using OpenCvSharp;
using OpenCvSharp.Extensions;
namespace WindowsFormsApp4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Shown(object sender, EventArgs e)
{
Mat img = Cv2.ImRead(@"D:\1.jpg");
Mat dst = new Mat();
Cv2.CvtColor(img, dst, ColorConversionCodes.BGR2GRAY);//グレースケール化
Cv2.Threshold(dst, dst, 0, 255, ThresholdTypes.Otsu);//2値化
ConnectedComponents cc = Cv2.ConnectedComponentsEx(dst);
if (cc.Blobs.Count > 0)
{
ConnectedComponents.Blob bold = cc.GetLargestBlob();
img.Circle((int)bold.Centroid.X, (int)bold.Centroid.Y, 5, Scalar.Cyan, 4);
}
pictureBox1.BackgroundImage = img.ToBitmap();
}
}
}
以上、宜しくお願い致します。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ピクチャボックスの座標取得
-
グラフの交点の求め方(Excel)
-
C言語による楕円関数の記述
-
3次元空間上の2つの座標から...
-
ダイアログ内コントロールの位...
-
DirectXを使ってテクスチャ(画...
-
マインクラフト(pc版)で座標...
-
閉図形の座標の配列が右回りか...
-
直線上にある点の座標の求め方
-
VBで車のアナログスピードメー...
-
C# 2つのベクトルのなす角を二...
-
WM_NCHITTESTの流れ
-
ワード上Shapeの位置情報を統一...
-
C言語で制作するピラミッドアー...
-
Excel VBA で自在に図形を変化...
-
始点、終点の二つの座標と半径...
-
オートシェイプ円弧の中心点、...
-
球面状に円を描くプログラム
-
GLで座標を変えて回転させたい
-
エクセルである点からの距離で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
ダイアログ内コントロールの位...
-
ワード上Shapeの位置情報を統一...
-
エクセルで回転する座標の出し方
-
3次元空間上の2つの座標から...
-
シーケンサー(PLC?)で制...
-
多角形の内部かどうか判定する方法
-
エクセルである点からの距離で...
-
始点、終点の二つの座標と半径...
-
直線上にある点の座標の求め方
-
以下のプログラムは重心を求め...
-
交差する2線分の交点座標の求め方
-
PPTのVBA スライド右下端の座...
-
選択範囲の座標値の抽出
-
閉図形の座標の配列が右回りか...
-
Excel VBA で自在に図形を変化...
-
ピクチャボックスの座標取得
-
アナログ時計の短針(時間用針)...
-
PanelとCanvasの違いについて
おすすめ情報