システム開発

OpenCVを使ったブロブ検知の概要

ブロブとは塊を意味し、似た特徴を持った画像内の領域のことを指します。

OpenCVを利用すればこのブロブを簡単に検知することができます。

この記事では、そんなブロブの検知方法について具体的に紹介していきます。

  • Open CVの活用方法が知りたい方
  • ブロブ検知の方法を知りたい方

これらに当てはまる方におすすめの記事となっています。これを読めばブロブ検知の方法が分かりますよ。

ブロブとは?

ブロブとは塊のことです。例えば、白い紙に黒墨を溢して残った塊ごとに1つブロブとして扱われます。

Open CVを使ったブロブ検知の利用方法

ブロブ検知を利用して画像にあるブロブを見つけ、カウントします。

C++ 言語でインストールする手順:

using namespace cv;

// Read image

Mat im = imread( “blob.jpg”, IMREAD_GRAYSCALE );

// Set up the detector with default parameters.

SimpleBlobDetector detector;

// Detect blobs.

std::vector<KeyPoint> keypoints;

detector.detect( im, keypoints);

// Draw detected blobs as red circles.

// DrawMatchesFlags::DRAW_RICH_KEYPOINTS flag ensures the size of the circle corresponds to the size of blob

Mat im_with_keypoints;

drawKeypoints( im, keypoints, im_with_keypoints, Scalar(0,0,255), DrawMatchesFlags::DRAW_RICH_KEYPOINTS );

// Show blobs

imshow(“keypoints”, im_with_keypoints );

waitKey(0);

色彩、形、サイズでブロブを検知する

SimpleBlobDetectorのパラメターを設定すれば、絞り込みたいブロブを検知する事が出来ます。

SimpleBlobDetectorのパラメターを設定する方法

SimpleBlobDetector::Params params;

閾値でフィルター

// 閾値の min, max値を定める 

params.minThreshold = 10;

params.maxThreshold = 200;

サイズでフィルター

params.filterByArea = true;

params.minArea = 1500;

params.maxArea = 5000;

円形度(circularity)でフィルター

params.filterByCircularity = true;

params.minCircularity = 0.1;

円形度(circularity)の数式:円形度 = 4πS / L^2

S:面積(画像数)
L:周囲長
0 < circulary < 1.
円形の近い形であればあるほど循環が1に近くなります。

凸面(convexity)でフィルター

params.filterByConvexity = true;

params.minConvexity = 0.87;

凸面 (convexity)の数式:(ブロブの面積) / (凸面の面積)

0 < convexity < 1.

Inertia Ratioでフィルター

params.filterByInertia = True

params.minInertiaRatio = 0.1

Inertia Ratioは形態の伸び率を意味します。

円形のInertia Ratio = 1
楕円形のInertia Ratio 0< Inertia Ratio< 1 
直線のInertia Ratio = 0

まとめ

いかがでしたか。本日はOpenCVを利用したブロブ検知の方法を紹介していきました。

ブロブ検知で個数のカウントや位置を検知することができましたね。

dehaでは、5年ほど前から、ベトナムオフショア開発を行っています。

本日紹介したOpenCVに関して詳しく聞きたい方や、ベトナムでオフショア開発を行う際の費用が知りたい方などはぜひご気軽にお問い合わせください。

お問い合わせはこちらから

Van Nguyen

Recent Posts

AIエージェントの活用による弊社の成功事例をご紹介

近年、AI技術の進化とともに、業務効率化やサービス向上を目的とした「AIエージェント」の導入が急速に進んでいます。 弊社でも、この流れを受けてAIエージェントの導入を進め、多くの現場で業務の質とスピードの両立を実現することができました。 この記事では、実際に弊社が取り組んだAIエージェントの活用事例を紹介しながら、AI導入によるメリットとその可能性についてご紹介いたします。 AIエージェントが気になる方 AIエージェントの事例が知りたい方 社内の人材不足にお悩みの方 これらに当てはまる方におすすめの記事となっています。これを読めばAIエージェントの成功事例が丸わかりですよ。 (more…)

2 days ago

AIエージェント導入によくある課題と解決方法

近年、業務効率化や顧客対応の高度化を目的として、企業や自治体、教育機関など多くの組織で「AIエージェント」の導入が進んでいます。 AIエージェントとは、人工知能を活用して自動的に応答や処理を行うシステムの総称で、チャットボットやバーチャルアシスタント、RPA(Robotic Process Automation)などが含まれます。 しかしながら、AIエージェントの導入には多くの期待が寄せられる一方で、現場ではさまざまな課題に直面するケースも少なくありません。 この記事では、AIエージェント導入によくある課題とその解決方法について、具体的に解説していきます。 AIエージェントに興味がある方 AIエージェントの導入に不安がある方 社内の人材不足にお悩みの方 これらに当てはまる方におすすめの記事となっています。これを読めばAIエージェントの特徴がわかるのはもちろん、うまく活用するための方法もわかりますよ。 (more…)

2 days ago

AIエージェントとは?特徴、活用のメリット

近年、AI技術の進化により、私たちの生活やビジネスのあらゆる場面で人工知能(AI)が活用されるようになっています。 その中でも注目されているのが「AIエージェント」です。音声アシスタント、チャットボット、カスタマーサポートなど、さまざまな場面で導入が進むAIエージェントは、業務効率化やユーザー体験の向上に大きな可能性を秘めています。 この記事では、AIエージェントの基本的な定義から、その特徴、導入メリット、さらに活用事例や今後の展望までを網羅的に解説します。 AIエージェントが気になる方 社内の人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばAIエージェントの特徴や具体的な活用メリットがわかりますよ。 (more…)

1 week ago

ベトナムAI経済2025年|最新経済市場動向を読み解く

AI(人工知能)は、世界各国の経済成長を支える基盤技術として注目されています。 とりわけベトナムでは、政府が国家戦略としてAIの導入を明確に位置づけ、経済、教育、公共行政、スタートアップ育成まで多岐にわたる分野で取り組みを強化しています。 この記事では、「ベトナムAI経済2025年」レポートをもとに、マクロ経済との接続性、国家戦略、セクター別の導入状況、スタートアップ・投資動向、そして将来の展望について解説します。 ベトナムのAIが気になる方 最新のベトナムの経済動向が気になる方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばAIがもたらすベトナム経済の進化と、その背景にある政策と市場構造を総合的に理解することができます。 (more…)

3 weeks ago

No-BrSEオフショア開発とは?メリット、活用シーンを徹底解説

近年、開発現場では「品質」「スピード」「セキュリティ」のすべてを高次元で実現することが求められています。 特に、高度な専門性や情報セキュリティが重要視される分野では、国内同様の品質と体制が前提となります。 そんな中、「No-BrSEオフショア開発」をご紹介します。 これは従来のオフショア開発におけるブリッジSE(BrSE)を介さず、日本語で直接やり取りができる完全日本語対応のラボ型開発チームを導入するモデルです。 この記事ではそんなNo-BrSE開発の特徴、メリット、適した活用シーンまでを詳しく解説します。 No-BrSEオフショア開発が気になる方 社内のIT人材が不足している方 開発の品質を高めたい方 これらに当てはまる方におすすめの記事となっています。これを読めばNo-BrSEオフショア開発のメリットや活用方法が丸わかりですよ。 (more…)

1 month ago

請負型とは?メリット・デメリットから活用シーンまで徹底解説

近年、開発コスト削減やリソース確保を目的として「オフショア開発」を導入する企業が増えています。 その中でも開発スタイルとして注目されているのが「請負型(受託型)」の契約形態です。 この記事では、請負型の基本的な概要から、メリット・デメリット、向いているプロジェクトの特徴、活用シーンまでを徹底解説します。 オフショア開発が気になる方 請負型について気になる方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばオフショア開発の請負型について メリットデメリットがわかるだけでなく活用できるシーンまで丸わかりですよ。 (more…)

1 month ago