*

RaspberryPiで物体検出(1)-白線検出への挑戦(1):輪郭検出による白線検出

公開日: : C++, C言語, RaspberryPi, 開発

どもです。
今回は、OpenCvを用いて道路の白線検出について、です。

1.今回の環境
OS:Linus Ubuntu 16.04 LTS
IDE:Eclipse Oxygen
OpenCv:3.4.1

2.白線検出のために実施した内容
基本的な流れは、下記の通りです。

1.画像のグレー化
2.フィルター処理
3.2値化
4.輪郭検出
5.検出描画

です。
これらの処理は、全てOpenCvが提供しているAPIを使用しています。
また、「3.2値化」でのパラメータ設定により、結果が変化します。

3.実装です
白線検出(描画含む)の実装です。

4.結果です
実際の検出結果は、動画にアップしています。

見ての通り、同じ白線でも、検出できてる/できていない箇所が分かれています。
特に、白線に影が重なっている箇所は、白線として検出されていません。
「パラメータ」を調整すれば、もしかしたらうまくいくのかもしれませんが、しかしその場の「最適化」にしかならないと思っています。
そのため、今回の動画に対してのみの最適化では、問題の解決にならない気がしています。
う~む…どうしたらよいのだろう?

5.素材について
素材となっている動画は、近所を歩いて撮影しています。
(しかも、手でカメラを持って撮影しています。そのため、画面揺れまくりです…。見難くて申し訳ありません。)
録画動画に対して、白線検出を行っています。
そのため、実際にカメラからの動画をリアルタイムで処理した場合、もっと動画がカクカクしてしまう可能性があります。
将来的には、RaspberryPiでカメラからの画像をリアルタイム処理で処理して表示するようにしたいですが、現状は必要なデバイスがそろっていません。
実機での動画できないため、実際にどうなるか分かりません。
今は、この可能性が「課題」に変化しないことを期待するのみです。

6.公開しています
今回のアプリケーションについて、GitHubで公開しています。
必要に応じて、参照してみてください。

ではっ!

関連記事

Arduino_Logo

ホールセンサーの種類と使い方

どもです。 今回のエントリは、表題にある「ホールセンサー」についてです。 1.「ホールセンサ

記事を読む

no image

C言語でEV3開発(17)-コマンドによるTOPPERS/HRP2 EV3RT アプリケーションの制御(コントロール)

どもです。 今回は、TOPPERS/HRP2 EV3RT で作成したアプリをPC上から操作するため

記事を読む

think_about_utest

VisualStudioで実行した単体テストの結果の出力(1)-ファイルへの出力

どもです。 最近、VisualStudio/C#でよく開発しています。 その際に、当然ですが

記事を読む

MY_MFC_LOGO

MFCプログラミング(1):CFileまたはCStdioFileクラスを使用してファイル出力

どもです。 突然ですが、仕事でMFCを使用することになりました。 MFCはこれまで触ったことがな

記事を読む

no image

C言語でEV3開発(13)-opOUTPUT_STEP_SPEEDコマンド

どもです。 今回のエントリーは、モーターを動かすコマンドである 「opOUTPUT_STEP_S

記事を読む

RasPi_Qt

Rasbianの新しいバージョンが出たので、クロス環境を更新してみた。

どもです。 RaspberryPiのOS:Raspbianの新しいバージョンが、少し前(…なの

記事を読む

iot_raspberrypi_gateway_001_eye_catch

IoT開発(7)
RaspberryPiをIoTゲートウェイにする(II)
VM上の開発環境にWEBサーバーをインストール

どもです。 このエントリは、前回の続きです。 今回は、前回のエントリで作成したVM上のRaspb

記事を読む

think_about_utest

単体テストの効率化を考える(2)-スタブの戻り値

どもです。 「単体テストの効率化について考える」の2回目です。 (1回目はコチラ:単体テスト

記事を読む

GitHub

Windowsでのカバレッジ測定-OpenCppCoverageを使ってみた(1)

どもです。 ここ最近、Windows上で開発を行っています。 その際に、当然単体テストを行うので

記事を読む

OpenCvLogo

OpenCvによる画像サイズ変更

どもです。 最近、カメラの動画をOpenCvで加工する、ということに挑戦し始めました。 しか

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

c_sharp_eye_catch
セルに「取り消し線」が設定されているかを判定してみた

どもです。 前回、前々回と、エクセルのセル内の文字列から、「取り

c_sharp_eye_catch
セル内の「取り消し線で消された文字列」の削除を簡単にしてみた

どもです。 前回、C#/OpenXmlを用いて、エクセルのセル内

c_sharp_eye_catch
セル内の「取り消し線で消された文字列」を削除してみた

どもです。 今回は、C#/OpenXmlの組み合わせで、エクセル

c_sharp_eye_catch
C#でバッファの内容を表示する処理を実装してみた-
データ型に従って動的に書式を設定する

どもです。 最近、C#でバッファ/配列の値をコンソールに表示した

arduino_relay_switch_003_self_preservation_circuit_eye_catch
Arduinoでリレースイッチ(3)-自己保存回路

どもです。 前回の記事で、リレースイッチ「AE-G5V-DRV」

→もっと見る

PAGE TOP ↑