Windowsデスクトップアプリを作ってみる
Posted: | Categories: Windows | Tags: Windows
Windows上で簡単なカメラのアプリを作る
- Visual Studio Community 2022 Version 17.7.3
- タブレット付属のカメラで撮る簡単なアプリ
基本的な仕様
- Visual Studioで開発
- ウィンドー内に「撮る」と「連写」のボタンがある
- Windowsタブレットについているカメラからの映像を表示するエリアを持つ
- カメラからの映像を保存する際のファイル名は日時をミリ秒までの文字列にする。
- ファイルのハッシュをファイル名の最後につけるようにする
- 保存する画像はpngフォーマット
- 「撮る」のボタンを押すと1枚、保存
- 「連写」ボタンを押すと20秒間、カメラからの映像を1フレームごと1枚の画像データとして保存していく。
- この時、負荷は高くなるが、負荷テストの意味も兼ねているので許容する
- 現在のカメラからの入力をウィンドー内に表示する
- このGUI部分は System.Windows.Forms と WindowsFormsIntegration を用いて実装する
- UIとロジックのコードを分離するようにする
- エラーハンドリングのコードは持つようにする
- プロジェクトはWindows FormsではなくWPFで実装
あったら良いなという機能
- ディスク上でデータが断片化しないように複数のファイルがシーケンシャルに書き込まれるようにする
- 音声トリガー撮影
VisualStudioでプロジェクトを作製
- C# WPFアプリケーション でプロジェクトを作製
- フレームワークは[.NET 7.0(標準用語のサポート)]を選択
開発中のメモ
EMGU.CVというC#でOpenCVを利用するためのラッパーをいれようとすると下記のエラーが出た。
パッケージ ‘Emgu.runtime.windows.msvc.rt.arm64 19.35.32217.1’ をインストールできませんでした。このパッケージを ‘.NETFramework,Version=v4.7.2’ を対象とするプロジェクトにインストールしようとしていますが、そのフレームワークと互換性があるアセンブリ参照またはコンテンツ ファイルがパッケージに含まれていません。詳細については、パッケージの作成者に問い合わせてください。
古いバージョンのC#のプロジェクトが作れるようにVisualStudio installerから .Net framework 4.6.2-4.7.1開発ツール を追加した。
.Net 7.0でプロジェクトを作製した。
.NET Core 3.1ってなんだろうか
Emgu.runtime.windows のインストール
VisualStudio で[ツール]->[NuGetパッケージマネージャ]->[ソリューションのNuGetパッケージの管理]->現れたダイアログで[参照]-[Emgu.runtime.windows] emgu.cv.runtime
カメラのキャプチャにはライブラリが必要
WPFのデフォルトではカメラからの入力のリアルタイムで出す方法は見つからなかった。 AForge、OpenCvSharpなどのライブラリが存在する。
- Microsoft.Windows.SDK.ContractsというNuGetパッケージを使い、Windows.Media.Capture、
Windows.Media.MediaProperties、System.Windows.Media.Imagingなどのクラスを使います
ChatGPTに最初、手伝ってもらいたい
次の使用をもつWindowsデスクトップアプリのコードを作って下さい “- Visual Studioで開発
Read more...