問題タブ [adaptive-threshold]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
12734 参照

c++ - OpenCV バイナリ適応しきい値 OCR

OCR 用に一部の画像をバイナリに変換する必要があります。

私が使用している関数は次のとおりです。

どこでCalcBlockMeanVariance

1この結果が得られCalcBlockMeanVarianceたときに に渡すと、blockSideを上げようとしましたblockSideが、結果が悪化するだけです。

前:

ここに画像の説明を入力

後:

ここに画像の説明を入力

OCRの準備として、この画像をバイナリに変換する別の方法を提案できますか?

ありがとう。

0 投票する
1 に答える
480 参照

image-processing - 適応しきい値設定を使用した画像のセグメント化

グローバルしきい値保持と適応しきい値保持を使用したセグメンテーションの違いについていくつかの調査を行いましたが、これが私の理解です...

注: 16 ビットのグレースケール画像を想定

グローバルしきい値保持: ピクセル値 0 ~ 65535 を定義します。画像をスキャンし、しきい値を下回るすべての値を黒にします。それ以外の場合は白にします。

適応しきい値保持: ピクセルごとにしきい値保持を定義し、白にするか黒にするかを決定します。

私の質問は次のとおりです。適応しきい値保持の場合、すべてのピクセルのしきい値をどのように決定すればよいですか?

編集:ここに画像の説明を入力

したがって、この図を見ると、N は画像内のピクセル数になります。Theta はしきい値を表します。while ループの条件が何かわかりません... while ループ内の内容はわかりませんが、計算方法は理解しています。

0 投票する
2 に答える
1760 参照

c++ - OpenCV での堅牢な画像セグメンテーション

他の誰かのために魚の卵を数える OpenCV プログラムを書こうとしています。現在、アップロードされた画像を取得し、正規化、ぼかし、しきい値、膨張、距離変換、しきい値を再度設定してから、輪郭を見つけます (典型的な流域チュートリアルのように)。

私が抱えている問題は、照明条件がかなり異なる可能性があることです。そのため、適応しきい値を使用しても、アルゴリズムの精度も大きく異なります. 画像全体にグラデーションの明るさがある場合、特にうまくいかないようです。背景に対してオブジェクトが非常に明るい場合もあれば、ほとんど同じ明るさの場合もあります。さまざまな照明条件でオブジェクトを見つける特に効果的な方法はありますか?

サンプル画像: 画像 gif

0 投票する
0 に答える
293 参照

matlab - スキャンされたアラビア語の小さなフォントのサイズ変更としきい値処理

スキャンした文書を印刷するためのアラビア語 OCR に取り組んでいます...スキャンした文書の中には、非常に小さい高さ 8 のフォント サイズで書かれているものがあります...高さを 60 ピクセルに変更したいのですが、原因でアーティファクトが発生する場合がありますアラビア文字の性質..一部の文字は重複する可能性があります.サイズ変更後にローカルしきい値法を使用しましたが、結果はまだ受け入れられません...何かアイデアはありますか?

これは画像の例です:

画像1

これは、ウィンドウ サイズとして 50 を使用してサイズ変更し、ローカル適応しきい値を適用した後の同じ例です。

画像2

ご覧のとおり、一部の文字には次のような不連続があります。

画像3

テキストの形状を維持しながら画像のサイズを変更する方法はありますか?

文字の不連続性を修正するための私のアプローチ:

  • 16 のウィンドウ サイズを使用してローカル適応しきい値を使用してサイズ変更する前に元の画像にしきい値を設定します (これにより文字の不連続性は解決されますが、文字の穴は埋められます) と呼びますsmallbw

  • を使用してサイズを変更し、smallbwを使用imresize(smallbw, [nh nw], 'nearest')して文字の穴を埋めますimfill

  • imresize(originalIm, [nh nw], 'nearest')call itを使用して、元の画像のサイズを高さ 60 ピクセルに変更します。largebw

  • largebw使用中の穴を埋めimfillて呼び出すbwfill

  • から穴を抽出largebwするbwholes = bwfill - largebw

  • 最後に、から減算bwholessmallbwてこれを取得します

画像4

ここで、文字 @Image 3 で見つかった不連続性が解決されたことがわかります ... しかし、ここで発生する別の問題があります。

画像5

これは私がこれまで達成できた最高の結果です...これらの問題を解決できる他のアイデアはありますか?? この問題に解決策がないと思われる場合、サイズ変更を使用するのではなく、どうすれば解決できますか? 8 ではなく 12 フォント サイズのテキストを使用するのはどうですか?

お役立ちリンク : 局所適応閾値法を使用

オペレーティング システム: Windows 7

プログラミング環境:Matlab 2013a - 画像処理ツールボックス

0 投票する
0 に答える
142 参照

image - この画像を正しくしきい値処理するにはどうすればよいですか?

文字をより見やすくするために、この画像にしきい値を設定しようとしています。OTSU しきい値を使用しましたが、画像をグレーに変換するときに適切なしきい値を見つけるのが難しいため、良い結果が得られません。アイデアを教えてください。別の色空間で画像のしきい値を設定できますか? ありがとう、そして私の英語でごめんなさい。

ナンバー プレート:

最初

グレーのナンバー プレート:

2番目

しきい値:

三番

0 投票する
1 に答える
927 参照

image - Matlab-動的しきい値処理

動的しきい値を作成しようとしていますが、いくつかのエラーが表示されます。私はこのコードから適応しようとしています: http://www.inf.ed.ac.uk/teaching/courses/ivr/lectures/ivr5hand.pdf

0 投票する
1 に答える
93 参照

matlab - 出力画像が正しく表示されない

出力画像と返されるピクセルデータの間に不一致があるようですが、現在、しきい値処理のために画像を準備するコードに取り組んでいます。

コードを通してお話しします。まず、3 つのパラメーター (IMAGEしきい値処理される画像) を取る関数を定義します。r中心ピクセルの周囲を定義する半径。そこからピクセル データを計算できます。そしてk、しきい値処理の詳細を決定する「カーネル」。

function [t] = imadaptive ( IMAGE, r, k )

次に、前に定義した関数を呼び出して、各ピクセルの平均偏差と標準偏差が格納された画像を作成します。

次に、各ピクセルの強度が 0 の新しいイメージを作成します。tこれは、各ピクセルの適切なしきい値を格納するために使用されます。

次に、画像のサイズを計算して、for ループにいつ停止するかを伝えます。

次に、for ループを開始し、一連の if ステートメントを実行して、プログラムが (-2,-2) のような位置のピクセル値を検査しようとするのを停止します。

最後に、コードを実行して各ピクセルの適切なしきい値を計算し、その値を画像に追加しますt

問題は、このコードを実行すると、私と同じ画像が得られることですstdpic:各画像の標準偏差値を示す画像です。しかし、これがなぜなのかわかりません。方程式は正しいようです。方程式;から を削除すると、出力される値が 0 から 255 の間で非常に多様であることがわかります。そのため、出力イメージtは大きく異なって見えるはずです。

ここで私が間違っていることを誰かが指摘できますか?