2017-11-14 7 views
0

内の特定のオブジェクトを認識します。 Javaは、私は、画像から</p> <p>をボルト、ナット、ワッシャーを分類する必要がありますが、私は画像からそれらのオブジェクトを検出する方法がわからない画像

enter image description here

私は2次元アレイに画像から(使用をjava.awt.Color)値ごとに色をコピー

(これは、画像の一部ではない)が、私は何を持っています私がこれと何をしなければならないかという考え。

私はそれらを分類したい場合、プログラムはどの部分が少なくとも背景ではないかを認識する必要があります。

javaにはライブラリがありますか?

+0

ニューラルネットは、画像を分類したい場合に研究できるトピックです。しかし、それを訓練するためにトレーニングセットと呼ばれるデータが必要です。 – Adam

答えて

0

Javaで行う方法は、Javaネイティブインターフェイスを持つOpenCVライブラリを使用することです。一緒にOpenCVのとJavaを使用する方法を学習するために、下記のリンクを参照してください:もちろん

http://opencv-java-tutorials.readthedocs.io/en/latest/

をJavaとOpenCVのニーズを解決するには十分ではありませんどのように使用するかを知っています。ですから、画像処理のトピックについても学ぶ必要があります。このやる気のプレゼンテーションを参照してください:

https://pt.slideshare.net/luigidr/introduction-to-open-cv-28728435

は、あなたがそうで画像分割、色空間、構造解析として、物事の多くを学ぶために準備ができなければならないことに注意してください。楽しむ!

0

openCVを試したことがありますか? Hereは顔検出の例で、問題は少し似ています。 役に立つかもしれない

0

画像にオブジェクトがあることを確認するには、そのオブジェクトのエッジがどこにあるかを判断する必要があります。イメージを見ると、各オブジェクトのエッジの色と比較して、背景の色に大きな違いがあることがわかります。

これまでのように、プログラムを色データで読み取らせることができます。十分な量だけ色が変わったことが分かると、プログラムはこの点を強調します。これは、ソーベルフィルタをカラーデータに適用することによって行われます。

これを行うと、オブジェクトの端が強調表示されます。ここから、囲まれた領域のサイズやこれらのエッジの特徴を分析して、強調表示されているオブジェクトを特定することができます。

Hereは、いくつかの良い答えがあるソベルフィルタの適用について質問された質問へのリンクです。

OpenCVなどのライブラリでは、ソベルのフィルタリングと画像検出がありますが、sobelフィルタを自分で実装するにはあまりコードは必要ありません。私はそれがもっと簡単な解決策であると信じています。 OpenCVのインストールと学習には、自分のsobelフィルタを適用するだけではなく、もっと時間がかかります。

関連する問題