eiichiromomma / testOpenCVSharpDnn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

testOpenCVSharpDnn

OpenCvSharpとWindows FormsアプリケーションでDnnモジュールを使う例。

GPUを使いたい人はこっちの記事参照

Nuget

プロジェクトを作ってNugetパッケージからOpenCvSharp4.WindowsとOpenCvSharp4.runtime.winを入れてる。たぶんOpenCvSharp4とOpenCvSharp4.runtime.winが正しいような気もするが気にしない。

OpenCvSharpのDnn

ソースの通りなのだが

  1. CvDnn.ReadNetFrom* で推論用のファイルを読む
  2. BackendとTargetを指定(しなければCPUになる)
  3. CvDnn.BlobFromImageで推論用にデータ(blob)を整形
  4. SetInputでblobを渡す
  5. 出力層を取得してForwardで推論

という流れ。後は最も良い結果を抽出して表示なりする。

Forms上での画像への書き込みとBBox描画

画像をImage.FromFile→Graphics.FromImageでcanvasを取得して,そこにDrawRectangleとかDrawStringしたうえでPictureBoxの画像に指定する。 貰うのがBBoxの中心(x,y)と幅高さな点に注意。

必要なファイルのダウンロード状況のプログレスバー表示

非同期にダウンロードしたかったのでasyncを使うまでは良かったが,プログレスバーのやりかたが分からず探してたら HttpClientProgressExtensionsが全部解決してくれた。

About


Languages

Language:C# 100.0%