タグ付けされた質問 「image-processing」

一般に、画像処理は、写真やビデオフレームなどの入力が画像である信号処理の任意の形式です。

4
これは、固定パターンノイズ補正の正しい方法ですか?
私は現在、画像センサーのプログラミングを含むプロジェクトに関与しています。私たちのセンサーは私たちにノイズを与えているので、それを修正したいと思います。プロジェクトの他の誰かが、「黒」の画像を撮る、つまりレンズキャップをかぶって、すべて黒の画像を撮るというアイデアを思いつきました。(明らかにノイズによるものではありません)後続のキャプチャのこの時点で、彼は黒の画像からピクセル値を取得し、定期的にキャプチャされた画像からそれらを減算します。 画像は良く見え、ほとんどのノイズが除去されていますが、次の理由により、これがノイズを除去するための最良のアプローチであるとは確信していません。 固定画像の範囲は[-172 194](366の値)で、標準の範囲は[0 255]です。再描画すると、範囲は[0 255]に戻り、見た目は良くなりますが、これは間違っていると思います。 新しい画像は暗い場所で撮影されていることに言及してください。 この方法はノイズを除去するのに正しいですか?なぜですか?

2
モノクロ(1ビット白黒)画像変換
スキャンしたテキストを1ビットの白黒画像に変換する場合、結果を改善するためにプロセスで適用できるフィルターは何ですか?今、ディザリングエラーが画像を恐ろしく見せてしまうという問題に直面しています。 更新:ディザリングを取り消そうとするのは、はるかに難しい問題だと思います。最初の画像をモノクロ画像に変換するにはどうすればよいですか?デフォルトのアプローチconvert -monochrome img1 img2を以下に示します。また、2段階のアプローチも試してみました。1)深度を下げる(カラーパレット)とガンマ2)2値画像に変換する(図示せず)。私が遊んだ他のものには、imagemagickの順序付けられたディザが(さまざまな設定で)含まれていましたが、2段階のアプローチほどではありませんでした。

3
DCTによるテクスチャ分類
離散コサイン変換の特徴を使用して画像のテクスチャを分類することは、どの程度実行可能でしょうか?グーグル「テクスチャ分類dct」では、ニューラルネットワークを使用して、このトピックに関する学術論文を1つだけ検索します。 私のアプリケーションでは、ラベル付けされた画像の大きなコーパスがあり、画像全体が一貫したテクスチャです(たとえば、毛布、木の樹皮、芝生のフィールドのクローズアップショット)。 前の質問への回答に触発されて、次のアプローチを検討していました。 各画像をピクセルのNxNブロックに分割します 各ブロックのDCTを取る 各DCTを1xM配列に平坦化し、K-Meansクラスタリングアルゴリズムに送り、各DCTのクラスターラベルを取得します。 #3から画像ごとに各ラベルをカウントすることにより、各画像のクラスタリングラベルのヒストグラムを計算します 一連の[(histogram、image label)]を供給することによりSVM分類器を訓練する これはどれくらいうまくいくでしょうか?SIFT / SURFアルゴリズムを介して抽出された機能を使用して同様のシステムを実装しましたが、約60%の精度しか得られませんでした。 DCTを使用してテクスチャを分類できる他の方法はありますか?

1
なぜこのモアレパターンはこのように見えるのですか?
Matlabでメビウス変換のgifをいくつか作成していたところ、いくつかの奇妙なパターンが現れ始めました。この現象を理解するためにファイルタイプ/アルゴリズムのより深い知識が必要かどうかはわかりませんが、おそらく純粋に数学的説明があるのではないかと思いました。この画像は、市松模様のように複素平面を着色し、複素共役の逆数を取ることで反転させて得られます。以下は、指定されたズームを使用した画像の数学擬似コードです。kkk checkerboard:C→{black,white}checkerboard(z):={blackwhiteif ⌊I(z)⌋+⌊R(z)⌋≡0mod2if ⌊I(z)⌋+⌊R(z)⌋≡1mod2image={z∈C:|R(z)|,|I(z)|≤1}color:image→{black,white}color(z):=checkerboard(k/z¯¯¯)checkerboard:C→{black,white}checkerboard(z):={blackif ⌊ℑ(z)⌋+⌊ℜ(z)⌋≡0mod2whiteif ⌊ℑ(z)⌋+⌊ℜ(z)⌋≡1mod2image={z∈C:|ℜ(z)|,|ℑ(z)|≤1}color:image→{black,white}color(z):=checkerboard(k/z¯)\begin{align} &\mbox{checkerboard}:\mathbb C \to\{\mbox{black},\mbox{white}\}\\ &\mbox{checkerboard}(z):=\begin{cases} \mbox{black} & \mbox{if }\lfloor\Im(z)\rfloor+\lfloor\Re(z)\rfloor\equiv 0\mod 2\\ \mbox{white} & \mbox{if }\lfloor\Im(z)\rfloor+\lfloor\Re(z)\rfloor\equiv 1\mod 2 \end{cases}\\ &\mbox{image} = \{z\in\mathbb C:|\Re(z)|,|\Im(z)|\leq 1\}\\ &\mbox{color}:\mbox{image}\to\{\mbox{black},\mbox{white}\}\\ &\mbox{color}(z):=\mbox{checkerboard}(k/\overline{z}) \end{align} そして、、、およびの画像を次に示します。各画像の解像度はです。信号処理の経歴はありませんが、学びたいです!k = 50 k = 200 1000 × 1000k=1k=1k=1k=50k=50k=50k=200k=200k=2001000×10001000×10001000\times 1000 編集: より具体的には、モアレパターンが特定のポイントで画像の解像度と「同期」するのはなぜですか。 モアレパターンを予測できますか?

2
離散フーリエ変換のゼロ周波数の中心化
私は、離散フーリエ変換を使用してぼかし/シャープ化を実装する画像処理アプリケーションに取り組んでいます。アプリケーションは多かれ少なかれ動作していますが、メカニズムについてはまだ混乱しています。 特に、ゼロ周波数を中心にするプロセスがどのように行われているかです。 私が見た例では、入力画像(グレースケール強度)に、入力画像と等しいサイズの行列を乗算することによって前処理を行っています。その値はで、xは行、yは列です。したがって、1と− 1が交互になるパターン(−1)x+y(−1)x+y(-1)^{x+y}xxxyyy111−1−1-1 ノートによると、これは、軸とy軸をめくって行列の象限を入れ替えることと同じです。xxxyyy これが行われる理由を理解し、コード/フーリエ関数が機能していることを理解したいのですが、入力マトリックスを1 / -1で乗算すると、ゼロ周波数成分が0を中心とする理由がわかりません。 ありがとう

2
入力画像にガボールフィルターを適用する
特定のスケールでGaborフィルターを適用しようとしました(ラムダとシグマの私の値によると、それは(7x7)であり、4つの方向(0、、および)を入力グレースケールイメージに変換します。π4π4\frac{\pi}{4}π2π2\frac{\pi}{2}3個のπ43π4\frac{3\pi}{4} 私のコードでは、3つのステップが実行されます。 ガボールフィルターの作成 RGB画像を読み取り、それをグレースケールに変換し、最終的に2倍に変換します。 作成したガボールを入力画像に適用します(ここでは、私のコードが真であるかどうかはわかりません。そのため、あなたの意見が必要です) 1)--------------ガボールフィルターを作成します(サイズ= 7x7および4方向) %define the five parameters theta=....; %either 0 or pi/4 or pi/2 or 3pi/4 lambda=3.5; gamma=0.3; sigma=2.8; psi=0; sigma_x = sigma; sigma_y = sigma/gamma; nstds = 5; xmax = max(abs(nstds*sigma_x*cos(theta)),abs(nstds*sigma_y*sin(theta))); xmax = ceil(max(1,xmax)); ymax = max(abs(nstds*sigma_x*sin(theta)),abs(nstds*sigma_y*cos(theta))); ymax = ceil(max(1,ymax)); xmin = -xmax; ymin = …

3
周波数領域でエッジ検出を実行できますか?
フーリエ領域でエッジ検出アルゴリズムを実装するために、画像のFFTの高周波成分が一般にエッジに対応するという事実を利用できますか?ハイパスフィルターに画像のFFTを掛けてみました。結果の画像はエッジに対応していましたが、畳み込み行列を使用して確立されたエッジ検出ではありませんでした。では、フーリエドメインでエッジ検出を行う方法はありますか、それともまったく不可能ですか?

1
ノイズの多いポイントのコレクションから曲線を復元する
背景:ビデオ内の多数の泡を追跡するシステムを作成しようとしています Circular Hough Transformを使用して、単一画像のケースでバブル検出を実装しています。オクルージョン、ブラー、その他の要因により、この検出は100%正確になることはありません。精度を犠牲にして、再現率が高くなるように検出手順を調整しています。 これが行われ、ビデオの一連のフレームに適用されると、4D空間内のポイントとして特徴付けることができるいくつかの検出があります-x位置、y位置、半径、およびフレームインデックス。 この4D点群から曲線を復元できる手順はありますか?

2
画像パッチを定性的に比較するための適切なメトリック
画像内の小さな正方形のパッチを「一致」させようとしています。一見すると、これら2つの配列のユークリッド距離スタイルの比較を単純に実行して「類似性」の測定値を取得することは合理的に思えます。これは多くの場合正常に機能します(このメトリックによると、「最良の」パッチ(最小値)はクエリパッチと非常によく似ています)。ただし、これが非常に悪い一致を生成する多くの場合があります。たとえば、次の2つのパッチペアがあるとします。 レンガの壁の2つのパッチ、スコア134(これは平均絶対ピクセル差のコンポーネントの合計です): レンガの壁の1つのパッチ、草の1つのパッチ、スコア123です。 人間にとって、草は「明らかに」レンガと一致しませんが、この測定基準はそうではありません。問題は、局所的な統計的変動にあります。 ヒストグラム比較のようなものを使用すると、すべての空間情報が完全に失われます。たとえば、パッチが上部の草と下部のレンガの場合、下部の草と上部のレンガのパッチと正確に一致します(再度、別の「明らかに間違っている」一致)。 これらのアイデアの両方を何らかの方法で組み合わせて、上記のペア1で「類似」と評価されるが、パッチとその垂直ミラーの例では類似していないメトリックはありますか? どんな提案でも大歓迎です!


4
画像認識
商業的に使用できる2D画像の膨大で有機的に成長するコレクションで画像認識を行うことができるオープンソースシステムを探しています。 画像のスケーリングサイズ、 写真の撮る角度、 カラー同期オフセット。つまり、ソースイメージのキャプチャとレンダリングの不規則性のために、インスタンスごとに色が異なります。 写真のトリミング、 透かしやテキストの追加、 可能性のあるフォーカスのバリエーション。つまり、キャプチャーにフォーカスがなかったことを意味し、画像操作フィルターが適用されていません。 アプリケーションをトレーニングしなければならないことは問題ありませんが、そうすることで利益が得られる限り、長期的には、2Dインスタンスの数が最初の数千から数百を超えると予想されます数千; しかし、それは長期的であり、1000インスタンスのトレーニングセットとインスタンスあたり10サンプルのトレーニングセットで十分に理解できるソリューションがあれば幸いです。 更新:ライセンスは、バイナリを持っているすべての人の内部でさえ、ソースコードのリリースなしで商用内部配布に使用できる必要があります。コードが販売されることはなく、内部で使用されるだけですが、すべてのユーザーがソースコードにアクセスできるわけではなく、インターフェイスだけにアクセスできます。

3
画像分析-繊維認識
私は画像分析がまったく新しいです。この画像を2値化して、繊維のみを取得する方法を知っていますか? ステップバイステップの手順は素晴らしいですが、どんなヒントも同様に高く評価されます。私はMatlab、.NETを使用でき、他のツールを利用できます。 PS:このアドレスで同じ質問を見つけることができます

3
画像から特定の背景を削除するにはどうすればよいですか?
これはガボールフィルタリング後に取得された画像です...明るい白い丸い欠陥を除いて、画像内の線を削除する方法はありますか。 ガボールフィルターの別の向きを試してみましたが、次の結果になりました: しきい値設定後:十分ですが、あまり良くない メディアンフィルタリング後: 前もって感謝します

5
画像ダウンサンプリング用のローパスフィルターパラメーター
私は倍に画像をダウンスケールする必要水平及び垂直(、 <)。sバツsバツs_xsysys_ysバツsバツs_xsysys_y111 ダウンサンプリングする前に、有限のローパスフィルターを使用したいと思います。n × mん×メートルn\times m と関数として取得するには、どのようにローパスフィルターパラメーター(およびガウス)を決定すればですか?n 、mん、メートルn, mσσ\sigmasバツsバツs_xsysys_y 具体的には、の場合に興味深いです。sバツ= sy= 1 / 2–√sバツ=sy=1/2s_x=s_y=1/\sqrt{2}

2
ガラスなどの半透明材料のセグメンテーション
ガラス状のオブジェクトのセグメンテーションに関する問題に完全に行き詰まっています。オブジェクトをできるだけ正確に取得する必要があります。私のアプローチは異なっていました。最初は、背景を削除して、一部の鋭い輪郭だけが残るようにしました。しかし、それは鋭いエッジ/グラデーションを持つオブジェクトに対してのみ機能します。それ以外の場合は、オブジェクト自体も削除されます。2つの異なる画像を投稿しました。 グレースケールの膨張やそれに対する分割などの形態学的操作によって背景を削除しようとしました。しかし、それはあまり役に立ちませんでした。その後、変更された背景をガラスの灰色と黒色の値から分離するために、k = 3のk-meansを試しました。それはいくつかのケースでは成功しなかったが、全体的/平均的には成功しなかった。また、全体的にぼかしたフィルターを使用してキャニーエッジ検出を実行しようとしましたが、これにより、輪郭が開いた形やノイズが多くなるなど、結果が低下します。 自動しきい値の結果を持つキャニー: testimg = imread('http://i.imgur.com/huQVt.png'); imshow(testimg) imedges = edge(testimg,'canny'); imshow(imedges); 同じことが2番目の画像にも当てはまります。 ご覧のとおり、内側と外側に多くのノイズがあり、ガラス境界からのエッジが2重になっています。縁にも隙間があります。 したがって、これら2つの画像だけでなく、半透明のマテリアルのこの問題に対処するための一般的なアプローチを得るために、あなたのアドバイスが必要です。 1)オブジェクトを損傷することなく背景を削除するための他のアイデア? 2)オブジェクトを背景から分離するための他のセグメンテーション方法は? 可能であれば、Matlab、IPT、または統計ツールボックスのヒントを使用します。他のヒントも大歓迎です! よろしくお願いします。心から

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.