質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

1644閲覧

JAVAやOpenCVで作られたソフトでの画像の取込

nikuman

総合スコア5

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/10/13 04:05

###前提・実現したいこと
ここに質問したいことを詳細に書いてください
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

###発生している問題・エラーメッセージ

あるPCソフト(以降PCソフトと記します)の画面を画像認識して操作を自動化するソフトを利用していたのですが、自動化ソフトのサポートが終了してしまいPCソフトのアップデートにより動作しなくなってしまいました。
どうやらPCソフトの画面表示が微妙に変化したようで(人間の目ではわからないのですがピクセル単位でメニューなどの文字表示の座標?が変わったようです)自動化ソフトに新たな画像を取り込めばある程度動くようにはなりそうなのですが、しかしながら私はソフト開発の経験など皆無で取り込み方がまったくわかりません。

私自身はソフト開発とは全く無縁で右も左もわからないのですが、自動化ソフトはJAVAで作られており、画像認識はOpenCVと言うものらしい事まではわかったもののググってみても画像取込の方法がさっぱりわかりませんでした。自動化ソフトはPCソフトのメニュー画面をキャプチャしその画像を二値化したものを利用しているらしいです。

自動化ソフトにはPCソフトのメニューなどが追加された時を想定してユーザー自身が画像を読み取る機能も付属しているのですが読取る座標が固定されているため、付属の読取機能では対処出来ませんでした。そこでご質問なのですが新たな座標位置に合わせて画像を読み込む方法を(例えばツールとかでしょうか)何方か教えていただけないかと思いご質問させて頂いております。私が無知なため専門家の方からすると説明が解り難い部分もあるかと思いますがどうかよろしくお願いします。

エラーメッセージ

###該当のソースコード

ここにご自身が実行したソースコードを書いてください

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yohhoy

2017/10/13 04:14 編集

あなたの質問は「自動化するソフト」固有の仕様に関する内容にみえます。購入されたソフトウェアであれば、購入元に問い合わせてみてはいかがでしょう。
nikuman

2017/10/13 04:19

説明不足で申し訳ございません、購入元はサポート終了し連絡が付かない状態なのです。一般的な(と言う表現が正しいかわかりませんが)画像の取込方法やツールなどがわかればと思いご質問させて頂きました
yohhoy

2017/10/13 04:21 編集

個人的な感想にすぎませんが、おそらくこの質問に対してあなたの期待する答えが得られることは無いように思えます。可能であれば、せめて該当ソフトウェアの名前くらい提示されては?(いずれにせよ、私は何も回答できませんが、誰か分かる方が登場するかもしれませんし)
nikuman

2017/10/13 06:38

某事務機器リース会社のCTIソフトを自動化するソフトをオリジナルで作って貰ったものなので、名前をお伝えしても誰も知らないと思います。たぶん私が質問を投げたのがとても場違いだったんだと思います、ありがとうございました。
guest

回答1

0

ベストアンサー

こんにちは。

teratailでは、どちらかと言うとエンジニア間での細かい技術的なことについての質問回答が多めのように思えますので、ご質問のような、運用上の要望に関してはなかなか回答がいただけないのかもしれません。

直接の回答にならないかもしれませんが、以下、少しでも参考になればと思い回答させていただくものです。

お使いの自動化ソフトはOpenCVのライブラリを利用してJavaで開発されたものとのことで、比較的良く見かける形態のソフトだと感じます。OpenCVとはかなり以前から使われている実績のある画像処理用ライブラリ(ライブラリとは、ソフトウェアの部品と思ってください)で、今では画像処理だけにとどまらない機能を持っています。OpenCVはJava に限らず、C言語やPyhon、その他のプログラミング言語で使いやすいようにカスタマイズと機能追加が常に行われています。

Javaで造られたその自動化ソフトは、Javaからでも使えるようにOpenCVに追加されたインターフェースを使って、OpenCVの機能を利用しています。画面のキャプチャーや画面の指定部分の切り出し、2値化して文字列の認識等を行っているのでしょう。

Javaを採用したのはおそらく、Windows や Mac, Linux等の別のOSでも使えるように、クロスプラットフォームでの利用を念頭に置いたものだと思います。

オープンソースのものですが、同じようなソフトに「Sikuli」があります。
Sikuli Script
もとはマサチューセッツ工科大学のUI研究グループのプロジェクトの成果だそうです。私も以前、少し使ってみたことがあるのですが、これもJavaベースのソフトで、画面をキャプチャーしたものをOpenCVで画像処理し、tesseractと言うOCR用ライブラリを使用して画像中の文字列を認識し、PC画面の操作を行っています。スクリプトを自分で書くことで、カスタマイズした操作を加えることもできます。

オリジナルのサイトは英語ですが、「sikuli 操作」等で検索すれば日本語での使用レビューがたくさんヒットしますので、ご興味があれば見てみてください。

ご質問の本題からそれましたが、nikuman様の「新たな座標位置に合わせて画像を読み込む方法」については、Windows でのご利用を前提としますが、例えば既存のツールですと各種の画面キャプチャーソフトが挙げられます。Windows では昔から定番な「WinShot」と言うものがありますし、その他にもたくさんあります。ソフトにもよりますがPCのデスクトップ全体、アプリのウィンドウ毎、指定の範囲でキャプチャーしたものを切り出すことができます。(WinShotもそうです)「Windows 画面キャプチャー ソフト」で検索してみてください。

ただし、nikuman様の最終的な要望である自動化ソフトと連携させるとなると、課題があるかもしれません。上記で挙げたような画面キャプチャーソフトは、キャプチャーするときに人間がキーボード等で指示を与えなければなりません。それでは自動化ソフトが必要とするときに必要な画像が与えられない、と言うことであれば、どうしてもそれ用のソフトを作成しなければならないことになります。また、自動化ソフトの方で外部のプログラムにタイミングを通知するような連携機能が無いと、これもまた難しい課題になるかと思います。この辺は自動化ソフトの機能によるので、現時点の情報では判断しかねる部分です。

自動化ソフトと言うものは、最近ではRPA(Robotic Process Automation)との言葉で良く取り上げられることが多いです。お使いの自動化ソフトの事情と具体的な要望を照らせて評価できるような、適切な方に直接相談してみるのもひとつの案かと思います。

投稿2017/10/16 02:38

編集2017/10/16 02:41
dodox86

総合スコア9183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nikuman

2017/10/16 03:24

dodox86様 私の要領の得ない質問にも関わらずお答え頂きありがとうございます、とても分かり易く現段階での私の疑問が解消致しました。まずは教えていただいたツールで作業してみて前進してみようと思います。ありがとうございました。
dodox86

2017/10/16 03:31

コメントをいただきどうもありがとうございます。お役に立てたようで良かったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問