1

私はC#で自分でいくつかのocrを実行しようとしています。私はもともとJavaから来ており、これはC#を使用した最初の「プロジェクト」です。

つまり、アプリケーションで処理されたビットマップを描画するために、さまざまなColorMatrizeを作成する方法を知っています。私も持っていますが、処理した画像を使って画像をよりよく分析したいと思います。

これらは、ImageAttributeを取得するための私のメソッドです

public static ImageAttributes ToGrayscale(Bitmap b)
public static ImageAttributes ToNegative(Bitmap b)
public static ImageAttributes ToSepia(Bitmap b)
public static ImageAttributes SetBrightness(Bitmap b, float Brightness)
public static ImageAttributes SetContrast(Bitmap b, float Contrast)

これが私の描き方です

Graphics g = this.CreateGraphics();
g.DrawImage(bmp,new Rectangle(0, 0, bmp.Width, bmp.Height), 
            0, 0, bmp.Width, bmp.Height, 
            GraphicsUnit.Pixel, ImageAnalysis.ToGrayscale(bmp));
g.Dispose(); 

これが私が欲しいものです:

FindLines( setConrast(toGrayscale(bmp),200) )

しかし、変更をビットマップオブジェクトに永続的に保存する方法が見つかりませんでした。多分誰かが前にこれをして、私を助けることができます

4

1 に答える 1

3

これで画面に描画する代わりに

Graphics g = this.CreateGraphics();

新しいビットマップを作成し、次のように取得したGraphicsオブジェクトを使用して、そのビットマップに描画します

Bitmap bmpNew = new Bitmap( width, height );
Graphics g = Graphics.FromBitmap( bmpNew );
于 2009-02-15T18:29:51.817 に答える