Использование MODI и изменение изображения в оттенках серого - PullRequest
0 голосов
/ 22 июля 2011

Я использую Microsoft Office Document Imaging (MODI) и пытаюсь загрузить файл TIF, но перед выполнением OCR преобразовываю его в оттенки серого.

Я не уверен, как это сделать.

У меня есть это в моем коде:

приватный MODI.Document _MODIDocument = null;

_MODIDocument = new MODI.Document ();

_MODIDocument.Создание (имя файла);axMiDocView1.Document = _MODIDocument;

Может кто-нибудь сказать мне, как преобразовать часть изображения документа в оттенки серого?

Спасибо

1 Ответ

0 голосов
/ 11 апреля 2012
public static Bitmap Grayscale(Bitmap bitmap)
{
    //Declare myBitmap as a new Bitmap with the same Width & Height
    Bitmap myBitmap = new Bitmap(bitmap.Width, bitmap.Height);

    for (int i = 0; i < bitmap.Width; i++)
    {
        for (int x = 0; x < bitmap.Height; x++)
        {
            //Get the Pixel 
            Color BitmapColor = bitmap.GetPixel(i, x);
            //I want to come back here at some point and understand, then change, the constants
            //Declare grayScale as the Grayscale Pixel
            int grayScale = (int)((BitmapColor.R * 0.3) + (BitmapColor.G * 0.59) + (BitmapColor.B * 0.11));

            //Declare myColor as a Grayscale Color
            Color myColor = Color.FromArgb(grayScale, grayScale, grayScale);

            //Set the Grayscale Pixel
            myBitmap.SetPixel(i, x, myColor);
        }
    }
    return myBitmap;
}

Событие клика под

Bitmap oldBitmap = new Bitmap(Server.MapPath("~/Db/Plates/" + dosyaadi), false);
Bitmap newBitmap = Grayscale(new Bitmap(oldBitmap));
string name = "grayscale";
newBitmap.Save(Server.MapPath("~/Db/Plates/") + name + ".jpg", ImageFormat.Jpeg);

затем удалите орг. Картинку ..

...