ブロブとは塊を意味し、似た特徴を持った画像内の領域のことを指します。
OpenCVを利用すればこのブロブを簡単に検知することができます。
この記事では、そんなブロブの検知方法について具体的に紹介していきます。
これらに当てはまる方におすすめの記事となっています。これを読めばブロブ検知の方法が分かりますよ。
ブロブとは塊のことです。例えば、白い紙に黒墨を溢して残った塊ごとに1つブロブとして扱われます。
ブロブ検知を利用して画像にあるブロブを見つけ、カウントします。
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::Params params;
// 閾値の min, max値を定める
params.minThreshold = 10;
params.maxThreshold = 200;
params.filterByArea = true;
params.minArea = 1500;
params.maxArea = 5000;
params.filterByCircularity = true;
params.minCircularity = 0.1;
円形度(circularity)の数式:円形度 = 4πS / L^2
S:面積(画像数)
L:周囲長
0 < circulary < 1.
円形の近い形であればあるほど循環が1に近くなります。
params.filterByConvexity = true;
params.minConvexity = 0.87;
凸面 (convexity)の数式:(ブロブの面積) / (凸面の面積)
0 < convexity < 1.
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に関して詳しく聞きたい方や、ベトナムでオフショア開発を行う際の費用が知りたい方などはぜひご気軽にお問い合わせください。
企業の基幹システムの多くは、10年、20年、あるいは30年以上にわたって運用され続けています。 しかし近年、こうしたレガシーシステムを取り巻く環境は大きく変化しています。 近年、注目されているのが「7Rフレームワーク」です。 7Rフレームワークは既存システムをクラウド環境へ移行する際に採用される代表的な意思決定モデルであり、システムごとに最適な移行戦略を選択するための考え方です。 この記事ではそんな7Rフレームワークについて、特徴を紹介していきます。 7Rフレームワークに興味がある方 生成AIを活用したい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば7Rフレームワークの特徴がわかるのはもちろん、AI時代での7Rフレームワークについて丸わかりですよ。 なぜ今、レガシーシステム刷新が急務なのか 近年、レガシーシステムを取り巻く環境は大きく変化しています。 第一に、技術者不足です。長年システムを支えてきたベテランエンジニアの退職が進む一方で、若手エンジニアの多くはクラウドネイティブやAI技術を中心に学習しており、古い技術スタックを扱える人材が急速に減少しています。 第二に、ビジネススピードの変化です。顧客ニーズの多様化や市場競争の激化により、企業には迅速なサービス開発が求められています。 しかしレガシーシステムは変更コストが高く、新しいサービス開発の足かせになるケースが少なくありません。 第三に、クラウド化と生成AIの普及です。企業はクラウド環境を活用して柔軟性と拡張性を確保しようとしています。…
オフショア開発は従来の「量」の補完から、しかし、生成AIの急速な進化によってその前提が大きく変わろうとしています。 今後は「どれだけ高い生産性を実現できるか」が重要です。 この記事ではそのようなオフショア開発のあり方の変化について見ていきます。 オフショア開発に興味がある方 社内のIT人材が不足している方 AIを使った開発に興味がある方 これらに当てはまる方におすすめの記事となっています。これを読めばオフショア開発の変化についてわかるのはもちろん、AI Nativeについても丸わかりですよ。 (more…)
近年、日本のIT業界では「2030年に最大79万人のIT人材が不足する」という予測が繰り返し語られています。 この数字は、日本社会のDX推進や企業のシステム開発を支える人材の不足を警告する象徴的な指標として広く認知されています。 しかし、2022年末以降の生成AIの急速な発展により、この予測の前提条件は大きく変化しています。 かつては人間が手作業で行っていたプログラミング、設計書作成、テストケース生成、ドキュメント作成、データ分析などの業務が、AIによって大幅に自動化され始めているためです。 その結果、「79万人不足」という予測を単純に受け入れるのではなく、「どのような人材が不足し、どのような人材の需要が減少するのか」という質的な観点から再検討する必要が生じています。 この記事では、生成AI時代におけるIT人材不足の構造変化を分析し、2030年に向けて求められる人材像について考察をしていきます。 生成AI時代が気になる方 IT業界の方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば「2030年79万人IT人材不足」問題について、新しい見解とその対策がわかりますよ。 (more…)
長年運用されてきた基幹システムは、企業活動を支える重要な存在である一方で、技術的負債の蓄積、保守人材不足、クラウド対応の遅れ、ブラックボックス化など、さまざまな問題を引き起こしています。 従来のマイグレーションでは、既存システムの解析からコード変換、データ移行、テスト、カットオーバーまで、多くの工程を人手に依存していました。 こうした背景の中、注目を集めているのが「AIレガシーマイグレーション」です。 この記事ではAIレガシーマイグレーションについて、どんな特徴があるのかやその強みに着目をしていきたいと思います。 AIレガシーマイグレーションが気になる方 製造業の方 DXをすすめたい企業の方 これらに当てはまる方におすすめの記事となっています。これを読めばAIレガシーマイグレーションがどう言ったものかがわかるのはもちろん、DEHAのAIレガシーマイグレーションについてもわかりますよ。 (more…)
近年、企業のIT戦略やシステム開発において「AI Native(AIネイティブ)」という言葉が急速に注目を集めています。 この記事ではそんなAI Nativeについて、その概要やメリットなどを紹介していきます。 AI Nativeが気になる方 システム開発をお考えの方 社内にIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばAI Nativeが何かがわかるのはもちろん、導入するべき理由が丸わかりですよ。 (more…)
IFS Cloudは、スウェーデン発のグローバルERPパッケージであり、ERP、EAM(設備資産管理)、SM(サービス管理)を統合的に提供する統合プラットフォームです。 本日はそんなIFS Cloudについて主要モジュールを解説します。 IFS Cloudに興味がある方 ERPをお探しの方 製造業の方 これらに当てはまる方におすすめの記事となっています。これを読めばIFS Cloudについてわかるのはもちろん、IFS Cloudの強みまで丸わかりですよ。 (more…)