2012-07-15 9 views
5

私はそれとは別のコンポーネントを識別するために400x400イメージのイメージを持っています。しかし、ほとんどの時間を使ってコンポーネントを特定しようとすると、正しい答えが得られません。ですから、javacvやopencvには画像の品質を向上させたり、画像のサイズを増やすために何らかの方法があるかどうかを知る必要があります。javacvまたはopencvで画像処理を開始する前に画質を改善するにはどうすればよいですか?

これは私が使用しているサンプル画像です。 (これは私が得ることができるし、それが動的に画像を生成しているため、私は、プロジェクト内の任意の写真編集ソフトを使用することはできません。最大サイズ)私の画像処理で

enter image description here

私は正方形を識別するために必要とそれらの四角形を結ぶ長方形。特に、私はピクセル値を使っているものの幅と高さを取得する必要があります。

+0

はるかに優れた画像を得る方法はありますか? –

+0

はいkabejaパッケージを使用してこの画像を生成しました。それは私が得ることができる最高の品質です。私はjavacvのメソッドを使用して、この画像の品質を向上させる必要があります。私は画像のサイズを増やそうとしているし、画像処理技術を使用して情報を抽出できることを願っています。 –

+0

@Abid opencvで画像のサイズを大きくすることは可能ですか?私はイメージを拡大することを意味しますか? –

答えて

3

ベクトル化することができれば、任意のサイズにスケーリングすることができます。イメージにいくつかの単純な幾何学的オブジェクトがあるので、あなたのケースでは単純化されます。

だから、私の見解では、あなたのアプローチは次のようにする必要があります:

  1. は(あなたは非常に異なるオブジェクトを持っているように)そのベクトル化
  2. 規模それらを高閾値と画像内のエッジを検出します任意のサイズ

Increasing camera capture resolution in OpenCVもご覧ください。

+0

まず、コントラストを蹴ってシャープにします。それは即座にエッジを引き出します。エッジを強調するには、検出されたエッジを取り、それらを暗くし、周囲のピクセルまでを最小フィルタで暗くします。それは明確な確率論的境界を確立する上でのトリックを行うべきです。 –

2

画像処理に固執すると、最も簡単な方法はequalizeHist()を適用することです。これによりコントラストが向上し、後続のステップが改善されます。

しかし、とこれはbiiiigですが、なぜあなたはそれをやっていますか?ただ、この記事を読んで、私は別の解決策を見て、簡単にGoogleは、私は右の午前私を証明した:

Kabejaは、構文解析、処理および AutodeskのDXF形式を変換するためのJavaライブラリです。 CommandLineからKabejaを、またはアプリケーションに を埋め込むことができます。すべての解析されたデータは、DOM風のAPI でアクセスできます。

つまり、画像から必要なすべてのデータをテキスト形式で直接抽出することができます。おそらく、 "位置xにyのようなものがあります。トランジスタがあります。だからなぜイメージにそのファイルをレンダリングし、そのイメージを分析してコンポーネントを抽出しますか?

学校のために(私は多くの学校プロジェクトがこのようなものであることを知っています)解決するには本当の問題を見つけて、先生に提案することをお勧めします。あなたは完全なナンセンスではない何かをするのが幸せになるでしょう。

2

イメージをベクトル化するのが最良の選択肢です。私はmocapのように推測します。
シャープネス、サチュレートなどの強化ツールを使用することもできます。

関連する問題