環境はwindows8.1です。
私は、genymotionという仮想androidを使いゲームのポチポチするようにしたいです。
画像認識のスクリプトを組んだのですが、先日質問さしてもらってchkimgする時に色の認識幅を設定しなければ画像認識できないとわかったので、いろいろ調べたのですが色の幅を設定するスクリプトの組み方がよくわかりません。
普通の画像認識スクリプトは、
ACW(GETID("Genymotion for personal use - Google Nexus 7 - 4.3 (800x1280, 213dpi) - 192.168.56.101","QWidget"),522,121,438,676,0)
IFB CHKIMG("A.bmp") // 認識させたい画像ファイルを指定する
// 画像認識に成功した場合の処理をここに書く
MMV(G_IMG_X, G_IMG_Y)
BTN(LEFT,CLICK)
ELSE
// 画像認識に失敗した場合の処理をここに書く
MSGBOX("画像認識に失敗しました。")
ENDIF
です。
このスクリプトに色幅を設定するスクリプトをネットで調べて自分なりに組んでみました。
ACW(GETID("Genymotion for personal use - Google Nexus 7 - 4.3 (800x1280, 213dpi) - 192.168.56.101","QWidget"),522,121,438,676,0)
IFB CHKIMG("A.bmp") // 認識させたい画像ファイルを指定する
Function CheckColorScope(PosX, PosY, Element, BaseValue, Scope)
// 指定された色要素の値を取得
Select Element
Case "R"
ElementValue = PeekColor(PosX, PosY) And $FF;
Case "G"
ElementValue = (PeekColor(PosX, PosY) And $FF00) / $100;
Case "B"
ElementValue = (PeekColor(PosX, PosY) And $FF0000) / $10000;
Default
Result = False; Return;
SelEnd
// 色要素の値が、指定範囲内であれば True を返す
Ifb (ElementValue >= BaseValue - Scope) And (ElementValue <= BaseValue + Scope) Then
Result = True;
Else
Result = False;
// 画像認識に成功した場合の処理をここに書く
MMV(G_IMG_X, G_IMG_Y)
BTN(LEFT,CLICK)
ELSE
// 画像認識に失敗した場合の処理をここに書く
MSGBOX("画像認識に失敗しました。")
ENDIF
これで組んでみましたが、エラーが出ます。
大変面倒なんですが、治していただけないでしょうか?
よろしくお願いします。
添付した画像が認識したい画像です。
No.1ベストアンサー
- 回答日時:
一個前の質問に回答したものです
その後気が付いたのですが 元々 https://oshiete.goo.ne.jp/qa/9023762.html から
継続してる質問のようですね
状況からして UWSC以前の問題として BMPや JPG 画像がどういったものなのかという事を
理解されていないことに問題があるのではないかと思われます
今回の質問に関していえば Functionに対して FENDがありませんので
文法的にエラーになるはずです
色幅持たせてカバーする以前に 基本的になぜ 画像認識に失敗しました
となるのかを把握する方が先ではないかと考えます
試しに
SAVEIMG("A.bmp",100,200,300,400)
PRINT CHKIMG("A.bmp")
を実行してみましょう
それで FALSE が表示されるようであれば デスクトップの表示が何かの理由で常に更新されているはずです
(普通は TRUE になるってことです)
それが動くなら 上記SAVEIMG の座標位置を変更して
保存される画像が本来のチェックしたい画像になるように調整して元のスクリプトで動くかを確認してください
元の質問で No3に書かれてる変換ってのは 単純にファイル名をjpgー>bmpに変更したときの話で
(ファイルの中身はJPGでファイル拡張子だけBMP)
No2であなたが疑問に聞かれてる内容の答えは
一旦JPGで保存された画像をペイントなどで開いてBMPとして保存したファイルを意味しますので
(中身BMP拡張子もBMP)
根本的にNo3での回答は意味を取り違えています
なぜそれではダメかってのは最初に書いたBMP・JPG画像がそれぞれどういったものなのかを理解してれば分かります
引き続き私の質問に回答していただいてありがとうござます。
ACW(GETID("Genymotion for personal use - Google Nexus 7 - 4.3 (800x1280, 213dpi) - 192.168.56.101","QWidget"),522,121,438,676,0)
SAVEIMG ("A.bmp",100,200,300,400)
PRINT CHKIMG("A.bmp")
このスクリプトで実行したら無事「TRUE」がでてきました!
BMPやJPGの画像についても理解できました!ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) uwscのCHKING関数の画像の認識がうまくいかない。 1 2022/06/18 20:55
- その他(プログラミング・Web制作) uwscとWinShotを使いスクリーンショットを撮る 1 2022/06/30 21:15
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて 2 2022/11/15 16:14
- CPU・メモリ・マザーボード メモリが使用可能にならない 3 2022/08/13 17:13
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Illustrator(イラストレーター) ワードに貼った画像のキャンバスと画像本体のサイズの調整 2 2022/05/19 18:31
- 工学 画像認識が、人と同様な錯覚を示すことは、本当ですか? 3 2023/08/14 06:55
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムについて。
-
マイクロソフトがvbを捨てたの...
-
paiza python03 ランクC獲得
-
soucetreeでローカルのクローン...
-
インターフェースとトレイトっ...
-
Kotlin言語について。
-
プログラミングの雑談がしたい...
-
python 機械学習 文字画像認識
-
vba クリップボードクリアにつ...
-
大学のゼミのレポートがムカつ...
-
python3について。
-
文系のSE志望です。プログラミ...
-
Gitについて質問。 クローンし...
-
スカラーのベクトル微分
-
Google ColaboでGUI作成
-
Adobe Premiere Proについて質...
-
プログラマーがHTMLとCSSでウェ...
-
python03について。
-
python3について。
-
ウェブサイトのアクセスログに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
テキストファイルの1行目のみを...
-
Google ColaboでGUI作成
-
Python... 環境設定 初心者です...
-
AIの登場でプログラマーたちが...
-
入力された文字列が、LD22000を...
-
ITパスポートの勉強をしていま...
-
プログラミングサイトについて。
-
バッチファイルが保存されてい...
-
VBSでテキストファイルの2行目...
-
40代後半でゼロからのプログラ...
-
{ CONTROL Forms.Label.1}が...
-
Version Control on Unity
-
過剰なオブジェクト指向脳から...
-
VBAでパワーシェルを実行したい...
-
ImageMagickでgif画像の一部が...
-
正規表現 URL抽出「 [\\/\\b]{0...
-
VBA 電話番号の正規表現について
-
そのまま使っただけなのに・・...
-
プログラム言語について。
おすすめ情報