VB.netでプログラミングの勉強をしています。

画面上の指定した範囲内に、指定した(5×5くらいの小さな)画像があればTrue、無ければFalseを返したいのですがどのようにすれば良いのでしょうか

考えついたのが画面をキャプチャし、指定の範囲を切り取り、その中に指定した画像があればTrueを返すというプログラムです

まず、画面をキャプチャし、トリミングするというところまではCapture ScreenというAPI等を使い実装できたのですが、そこに同じ画像があるかどうか、どう判定すればいいのかがわかりません。

以前、UWSCのchkimg関数を使って同じような物を作ったのですが、処理もそれなりに早くて使いやすかったように思います。

VBで同じような動作をさせるにはどのようにすればよいのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

OpenCV や OpenCVCharp などのテンプレートマッチングを使用するのが良さそうに思います。


http://www.geocities.jp/konbiki/tips/opencv/open …

GetPixel を使用して、1 ピクセルずつ比較していく方法もあります。
http://okwave.jp/qa/q3151246.html
    • good
    • 0
この回答へのお礼

!!!
ありがとうございます!まさに求めていたのはこれです!早速試してみます!

お礼日時:2012/01/04 10:55

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QCPUのCore i7/i5の番号について

CPUのCore i7/i5の番号について

Core i7では900番台と800番台がありますよね
Core i5でも700番台と600番台がありますよね
(他にもあったら付け足してください)

それでその違いについて詳しく知りたいというのが今回の質問の本題です
色々なところを廻っても詳しく説明が書かれているところがなくて
いったいどれがいいのか分からないのです

厳密にどこがどう違うというような詳しい情報を知ってる方はいらっしゃらないでしょうか

例としてCore i7 870と Core i7 950のような感じで近いものを比較して
どちらがどう違うというようなことを聞きたいのです

分かる範囲でいいので回答をお待ちしています

Aベストアンサー

i7 に限れば、900番台と800番台ではけっこう大きな差があります。

900番台専用のX58マザーではメモリがトリプルチャネルアクセスとなるほか、ATI-CrossFireやnVIDIA-SLIにフルレーンで対応しています。
PCI-E×16ソケットが3本分用意されていることから、仕様上では3WAY-SLI(16+16+4レーンに振り分け)まで可能です。

一方の800番台とi7以下向けのマザーでは、デュアルチャネル、PCI-Eは16レーンまで(SLI接続時は8+8となる)といったチップセット上の制約があります。

i5では、クアッドコアのHTなしTBありの700、デュアルコアでHTありTBありの600に分かれます。(いずれも4スレッド)
i3ではデュアルコア、HTありの4スレッド、TBは無効化されています。

ランクで並べるとこうなります。
i7-980X EE>i7-970(6コアの廉価版??未発売)>i7-900(ここまでがLGA1366)>i7-800(これより以下LGA1156)>i5-700>i5-600>i3-500>Pentium G6950>Celleron P4500(未発売)

HT…Hyper-Threading Technology
TB…Intel Turbo Boost Technology
EE…Extreme Edition

i7 に限れば、900番台と800番台ではけっこう大きな差があります。

900番台専用のX58マザーではメモリがトリプルチャネルアクセスとなるほか、ATI-CrossFireやnVIDIA-SLIにフルレーンで対応しています。
PCI-E×16ソケットが3本分用意されていることから、仕様上では3WAY-SLI(16+16+4レーンに振り分け)まで可能です。

一方の800番台とi7以下向けのマザーでは、デュアルチャネル、PCI-Eは16レーンまで(SLI接続時は8+8となる)といったチップセット上の制約があります。

i5では、クアッドコアのHTなしTBありの70...続きを読む

QVB.NETで「タナカ タロウ」の文字列比較で「タナカタロウ」、「タナカ タロウ」(※半角空白)でも一致する比較方法

タイトルどおりなのですが、
「タナカ タロウ」(全角スペース)
があったとしてこれと比較するときに
「タナカ タロウ」(半角スペース)
「タナカタロウ」(スペースなし)
でも比較できる方法はどうやればいいのでしょうか?

また、できれば
「たなか たろう」でも「タナカ タロウ」(半角カナ)でも一致させたいのですが、いい方法ないでしょうか?

Aベストアンサー

対象文字列を

(1)半角スペースを除去 (String.Repace()を使用)
(2)全角スペースを除去 (String.Repace()を使用)
(3)ひらがなをカタカナに変換 (StrConv()を使用)
(4)半角カタカナを全角カタカナに変換 (StrConv()を使用)

と処理してから比較すればよいと思います。

参考URL:http://www.atmarkit.co.jp/fdotnet/dotnettips/266vbhirakana/vbhirakana.html

QCPUのi5とi7の能力差はどのくらい?

私はWin7はCPUがi5でTV機能付き、Win8.1もi5で普通機能で使っています。

i7というのを使ったことがありませんが、i5とi7の機能差はどのくらいですか?

今度もしWin10のPCを買うときの参考にしたいと思います。

Aベストアンサー

HTTの有る無し

Qカスタムコントロール作ってます(VB.NET)。VB.Net にVB.6のActiveX作成時にあったプロパティページ作成ができないようですが

タイトルどうりです。VBNETのカスタムコントロールでデザインモードにおけるフォームつまりプロパティページやビジュアルにプロパティボックスから設定できるようにしたいのですが、どうしたらできるでしょうか?VB6ではできたのですが、(Activexコントロール)。

よろしくお願いします。

Aベストアンサー

通常のプロパティと同じように、プロパティ ウィンドウに項目を表示して設定できるようにする必要があります。
具体的には、
1. カスタム コントロールのクラスに外部公開する Property プロシージャを作成して、内部で値を保存できるようにする。
2. そのプロパティの宣言部分で、プロパティ ウィンドウに表示するように指示する属性値を設定する。

こんな感じです。

参考URL:http://www.atmarkit.co.jp/fdotnet/winexp/winexp02/winexp02_01.html

QPCのCPU Core i7、i5、i3のHzについて

PCのCPU Core i7、i5、i3のHzについて

新しいCPUでCore i7 、i5 、i3の順で処理が早いですね。PCのメモリやHDDなど性能が同じとして下記の件について教えて下さい。)

1・・同じクラスに何種類あるかわかりませんが、Hz数が大きいほど処理が早いと思います。i3の最高のHz数のものとi5の最低のHz数のものとではどちらが処理が早いですか。

2・・同じようにi5の最高のHz数のものとi7の最低のHz数のものとではどうでしょうか。

3・・3種類とも最低のHz数と最高のHz数はいくつですか。

Aベストアンサー

気になったのでまた来ました。

性能比較は「CPU 性能比較」などでググってみるといくつかの比較表のサイトが出てきます。今日はこのページがトップに出てきました。
http://hardware-navi.com/cpu.php
この表の上から順に処理速度が速いと思えば、だいたい当たりです。使い方で前後いくつかが変化する可能性はありますが、素人的に気になる差ではないはず。

このリンクの表をみても分かりますが、i3とかi5に関係なく後ろ3桁の数字が大きいほど高性能です。ただし後ろにMやQMがついているモバイル用のCPUは省電力設定のため性能も落ちますから、同じ土俵で考えてはいけません。見ればわかりますが動作周波数は必ずしも数字が大きければいいというものではないことが分かります。900番台のなか、800番台のなか、700番台のなかでそれぞれ見れば、10の位は動作周波数の順で、大きい数値ほど周波数も高いです。

QVB6(SP5)とVB.NET のテキストボックス等の配列について

VB6(SP5)で、プログラミングをしております。
現在、VB.NETを勉強中です。
1つ疑問が出てきました。Text1等のインデックス
プロパティが無い様なのですが、配列のテキストボッ
クスやラベルは無いのでしょうか?
宜しくお願い致します。

Aベストアンサー

コントロール配列は、.NET Frameworkではサポートされません。

ただし、ないわけではないです。コントロール配列を使ったVB6製アプリをコンバートすると特殊なコンポーネントで置き換えられますので。
ただし、これからのことを考えるといまさら使わないのが賢明です。

Qゲームにはi7?i5?

ゲームをするには、i5とi7どちらが適切でしょうか?
候補はi7 860かi5 750です。
新しいiシリーズは買えません。高すぎです。
LGA1156Core iシリーズでダメならやりません。
やりたいゲームはグラセフです。
5000円以内ならグラボもおkです。

Aベストアンサー

>ゲームをするには、i5とi7どちらが適切でしょうか?
>候補はi7 860かi5 750です。

現時点で手元にあるパーツ次第かな。

すでにLGA1156のマザーが手元にある状態ならCore i5 750かな。
あとは、中古のGeForce GT630(実売4500円くらい)あたりでも搭載すればいい。
高画質設定は無理だけど、1440×900くらいまでの解像度で画質設定も調整すれば快適にプレイできるはず。

まだマザーを用意していないなら、LGA1155のマザーと中古のCore i3 2100あたりがおすすめ。
CPU性能的には若干劣りますが、前述のCore i5 750の時と同じく中古のGeForce GT630あたりを搭載しておけば、同じくらいか少し下げた程度の画質設定で快適にプレイできます。
しかも、マザーボードの世代が新しいため、後から大幅に性能向上させることも可能です。


>5000円以内ならグラボもおkです。

Core i5 700番台やCore i7 800番台を使う場合、グラボは必須ですよ。
この世代のCore iシリーズは、内蔵グラフィック搭載しているのは2コア版だけですからね。
Core i5 700番台やCore i7 800番台などの4コア版にはグラフィック機能は搭載されていないため、グラボが無いとパソコンとして使えません。

>ゲームをするには、i5とi7どちらが適切でしょうか?
>候補はi7 860かi5 750です。

現時点で手元にあるパーツ次第かな。

すでにLGA1156のマザーが手元にある状態ならCore i5 750かな。
あとは、中古のGeForce GT630(実売4500円くらい)あたりでも搭載すればいい。
高画質設定は無理だけど、1440×900くらいまでの解像度で画質設定も調整すれば快適にプレイできるはず。

まだマザーを用意していないなら、LGA1155のマザーと中古のCore i3 2100あたりがおすすめ。
CPU性能的には若干劣りますが、前述のCore i5 750...続きを読む

QVB.net(ASP.net)でアクセスカウンターを作りたい(.net初心者)

VB.NETのWebアプリケーションでアクセスカウンターを作りたいのですが、ページがアクセスされた時にDBの値を+1するまではできたのですが、ブラウザの更新ボタンを押したときにアクセスカウントを+1させたくないのですが、その技術がわかりません。(更新ボタンで+1させないようにCache("StartFlag") = "ON"して、対応している、がこれに問題がある)

今作っている処理は以下の通りです。
Private Sub Page_Load
 If Not IsPostBack Then
  カウンタを+1する処理
  (ただしCache("StartFlag") がONなら+1しない)
Cache("StartFlag") = "ON"
End If
End Sub
 
ですが Cache("StartFlag") が"ON"を保持したままになってしまうので、どこのPCからアクセスしてもカウンタが+1されません。
なにか良いアイデアはないでしょうか?
例えば
1)クライアントの情報を保持しておき、
  クライアントが変化したら+1する
(クライアントの情報の取得の仕方がわかりません)
2)Cache("StartFlag") をクライアント毎のセッション変数に変えて、セッションが切れて再びアクセスされたら+1する(やり方がわかりません)

その他、参考になりそうなURLも教えていただきたいのですが、お願いいたします。

VB.NETのWebアプリケーションでアクセスカウンターを作りたいのですが、ページがアクセスされた時にDBの値を+1するまではできたのですが、ブラウザの更新ボタンを押したときにアクセスカウントを+1させたくないのですが、その技術がわかりません。(更新ボタンで+1させないようにCache("StartFlag") = "ON"して、対応している、がこれに問題がある)

今作っている処理は以下の通りです。
Private Sub Page_Load
 If Not IsPostBack Then
  カウンタを+1する処理
  (ただしCache("StartFlag")...続きを読む

Aベストアンサー

2が妥当でしょう。

Cache("StartFlag") → Session("StartFlag")

QCORE I3、I5、I7の違い

CORE I3、I5、I7の違い
パソコンを購入する際にCORE I3、I5、I7とか記載されていますが、どのように違うでしょうか?

併せて、ノートをデスクトップとどちらの購入がお勧めなのでしょうか?
(自宅で使用します)

Aベストアンサー

Core i7 900(LGA1366)
Bloomfieldという種で、2008年11月より発売。
従来のCore 2 Quadが1つのCPUダイに2つのデュアルコアを内蔵した形態であったのに対し、純粋な4コアCPUとして開発された。
あわせて最適化が施されメモリコントローラを内蔵したほか、負荷レベルに応じて自動的にオーバークロック状態にするターボブースト(以下TB)機能や、Pentium4でおなじみのハイパースレッディング(以下HT)機能を備えることで4コア8スレッドを実現。
なかでもCore i7 900シリーズ中最低ランクだったCore i7 920は、当時主流だったCore 2 Quadの最上位モデルQ9650をパフォーマンスで圧倒し、かつ安価であったことから大いに注目を浴びた。
LGA1366と組み合わされるX58チップセットはハイエンドという位置づけであるが、そのゆえんは、3枚1組のDDR3メモリに対して同時にアクセスするトリプルチャンネルであることと、PCI-E×16を36レーン分サポートしていること。
これにより、X58シリーズのマザーボードの多くは6本分のメモリソケットを備え、4GBモジュールで埋めることで最大24GBのシステム構築を可能となっている。
グラフィックボード関連も、36レーンを活かしたnVIDIA-SLIやATI-CrossFireをサポートし、最大で3台をリンクさせる3-way SLI(16+16+4=36)などにも対応しているため、ゲームパフォーマンスを高めることもほかのソケットグループよりも比較的容易である。
なお、後発の980Xと970の両者はGulftownと呼ばれる種類であり、それぞれ6コア12スレッド、3次キャッシュ12MB、32nmプロセスで製造された新型で、Bloomfieldとは区別されるが、従来のX58シリーズのマザーボードのユーザーはBIOSを更新するだけでこれらCPUへのグレードアップが可能となっている。

Core i7 800(LGA1156)
4コア8スレッド、8MBの3次キャッシュを備える点は900と同じ。
後発のこれらLGA1156版のグループの大きな特徴は、TB時の倍率が引き上げられたこと。TDP値も130Wから95Wと引き下げられたので、消費電力も低い。
デュアルチャンネルに留まるものの、効率化がさらに進んだことで先述の920版を完全に上回る性能を発揮する。
また、従来870と860の2種構成だったものに880が加わったことで5万5千円ほどしていた870の価格が従来860と同レベルに改定された。半額近い値下がり幅となったことで今現在もっとも買い得度の高いCPUである。


Core i5 700(LGA1156)
4コア4スレッド、8MBの3次キャッシュ。
Core i7から、HTを無効化したCPUとお考えいただければ。

Core i5 600(LGA1156)
2コア4スレッド、4MBの3次キャッシュ、TBあり。
HTにより4スレッドを可能に。

Core i3 500(LGA1156)
2コア4スレッド、4MBの3次キャッシュ。
Core i5 600からTBを無効化したもの。

Pentium G (LGA1156)
2コア2スレッド、3MBの3次キャッシュ。
Core i3からさらにHTを無効化、3次キャッシュを減らしたシリーズ最廉価バージョン。

以上、デスクトップ向けCPUについて書いてみました。
パーツごとに経年による寿命や、規格の世代の進化などがありますから、個別に更新しながら使い続けられるデスクトップ(自作系BTOマシンに限る)のほうが、システム全般としては長持ちします。
ノートだったら、たとえば液晶のバックライトが切れただけで使い物にならなくなりますよね。
せっかく何万もかけて修理しても、中身の規格はいつまでも古いままですし…。
ノートはノートならではの利点もたしかにあるわけですが、ファーストマシンはデスクトップがいいと思います。

BTOならドスパラのパソコンが安くていいですね。
http://www.dospara.co.jp/5goods_pc/pc_bto.php?h=g&f=g&m=g&mc=1481&sn=203&vn=1&lf=0
これくらいの性能があれば、なにをするにも困りません。

Core i7 900(LGA1366)
Bloomfieldという種で、2008年11月より発売。
従来のCore 2 Quadが1つのCPUダイに2つのデュアルコアを内蔵した形態であったのに対し、純粋な4コアCPUとして開発された。
あわせて最適化が施されメモリコントローラを内蔵したほか、負荷レベルに応じて自動的にオーバークロック状態にするターボブースト(以下TB)機能や、Pentium4でおなじみのハイパースレッディング(以下HT)機能を備えることで4コア8スレッドを実現。
なかでもCore i7 900シリーズ中最低ランクだったCore i7 920は、当...続きを読む

QVB.NETプログラミング用の最適液晶モニタ?

VB.NET Ver.2003でプログラミングを学習中なのですが、
PCの液晶モニタを新調します。

現在は、15インチ正方形液晶モニタを使用しています。

そこで、モニタの大きさですが、
お勧めのサイズがあれば、教えて下さい。
VB.NETのデザインウィンドウで使い勝手の
よいものが希望です。

今のところ、
19インチ正方形か、21.5インチワイドを考えて
います。

よろしくお願いします。

Aベストアンサー

UXGA(1600x1200)ぐらいはほしいところですね。
ソースコードをメインにして
プロジェクトエクスプローラやイミディエイト、ウォッチウィンドウを
左右に表示させて使用する形になると思います。

おそらく現在はXGAで作業されていると思いますので
テストやデバッグが面倒だな、と感じていらっしゃると思います。

場所とパソコンが対応できるならば
デュアルモニタをお勧めします。
新しくUXGA以上のモニタを買ってメインにして
フォーム等の表示を現在使用しているモニタにすれば
無駄が少なくてすみます。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング