C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■85564 / )  画面の一部の変化を監視したい
□投稿者/ 鳥取県 (1回)-(2017/11/06(Mon) 11:07:38)

分類:[.NET 全般] 



画面の一部の変化を監視し、
もし、変化があったら、アクションを起こすプログラムを作りたいと考えています。

それで画面の一部を監視する方法に関して教えてください。

画面の一部をキャプチャーするには以下のコードで書くことができます。

Dim myBitmap As Bitmap = New Bitmap(1, 1)
Dim g As Graphics = Graphics.FromImage(myBitmap)
g.CopyFromScreen(New Point(X, Y), New Point(0, 0), New Size(1, 1))



それで後は

Dim PixColor As Color = myBitmap.GetPixel(0, 0)

でそれぞれのピクセルの色を取得することができます。

監視するには、毎回Forループで監視する場所のピクセルを一つずつ比較するしかないですか?


If myBitmap = myBitmap2 Then


End If


のように一度に画像を比較できれば良いのですが、このようなことはできないでしょうか?


あと、検索してみると
https://oshiete.goo.ne.jp/qa/7221405.html

GetPixel を使用して1ピクセルずつ比較するよりも
OpenCV や OpenCVCharp などのテンプレートマッチングというものを使った方が高速であるというページが見つかりました。

読んでみましたが、具体的にどのように使えば良いのか分かりませんでした。

どなたか最善の方法をお教えくださいませ。





返信 編集キー/


管理者用

- Child Tree -