2016-05-31 7 views
-2

私は画像処理が初めてです。私の無知を許してください。私は、大きな画像を含むサブ画像の座標を得る方法を考え出しています。たとえば、New York skylineの大きな画像と、ちょうどEmpire State buildingの画像があります。大きな画像は常に高品質の画像であり、小さな画像はユーザのカメラによって供給され、大きな画像の印刷版を走査する。小さな画像の品質、縮尺、色は、大きな画像と完全に一致しません。私が得ようとしているのは、大きな画像の左上隅から、小さな画像の左上隅までのX、Y座標です。小さな画像が大きな画像に配置されたパズルピースのようです。誰かが私に正しい方向を向けることができたら大変感謝しています。ありがとうございますC#小さな画像の位置をより大きな画像の中に入れるには

編集 フィードバックいただきありがとうございます。私はこれが非常に難しい作業であるかもしれないことに気づきました。私は別のアプローチを取って終わった。私は前述の印刷媒体に認識可能な形を埋め込み、OpenCvSharp(OpenCVの周りのフリーCラッパー)を使ってそれらを検出します。

答えて

0

が(機械学習別名)パターン検出および/または認識の味ですが、私は準備ができての実装のための外観を示唆します。

基本的な考え方は、関心のあるオブジェクトの機能についてアルゴリズムを教えたり教えたりして、アルゴリズムで画像内でパターンに一致するものを検索することです。

多くのアルゴリズムがあります。それぞれに独自のアプローチがあります。

http://docs.opencv.org/2.4/doc/tutorials/features2d/feature_homography/feature_homography.html

EDIT: OpenCVのラッパー.NET C#のためのOpenCVはC++プロジェクト

http://www.emgu.com/wiki/index.php/Main_PageあるようOpenCVのを - 出発点として、あなたはよく知られている画像処理フレームワークが提供できるものを見るために試みることができます

+0

ありがとうございます。私は正しい方向に私を指して以来、私はこれを解決策としてマークしました。 Emguの代わりにOpenCvSharpを使用していましたが、それは無料です。 – Sturnus

0

これは非常に難しくて大きなプロジェクトです。

ところで、GetPixel()メソッドでピクセルの色を取得できます。

次のコードは200x200のイメージを作成し、そのイメージの100,100のコーディネートの色を取得します。サーフィンのイメージのために

Bitmap bmp = new Bitmap(200,200); 
Color c = bmp.GetPixel(100,100); 

パフォーマンスが遅くなりすぎない限り効率的に使用するには、ポインタ(危険なコード)ではないgetPixelメソッド()メソッドを使用する必要があります。これは複雑な作業であるとちょうどあなたがここに直面する可能性が何であるかを、あなたに

を一つの可能​​な方向性を与えるために

関連する問題