C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.97434 の関連記事表示

<< 0 >>
■97434  TIFFファイルの「ビットの深さ」の変換
□投稿者/ tan -(2021/05/12(Wed) 19:24:42)

    分類:[C#] 

    OS:Windows10(64bit)
    アプリ:デスクトップFormアプリ
    言語:C#

    TIFFファイルの「ビットの深さ」の変換について教えてください。

    次のコードは、TIFファイルの圧縮方式を「PackBits」に変換しています。
    ビットの深さを「モノクロ」に変換したいのですが、
    どのような実装が必要になるのか、教えていただけないでしょうか。

    参考例などありましたらアドバイスいただけますと幸いです。

    -------------------------------
    using System.Drawing.Imaging;

    // EncoderParametersを設定する
    var parameters = new EncoderParameters(2);
    parameters.Param[0] = new EncoderParameter(Encoder.ColorDepth, 1L);
    parameters.Param[1] = new EncoderParameter(Encoder.Compression, (long)EncoderValue.CompressionRle);

    // ImageCodecInfoを取得する
    ImageFormat imageFormat = ImageFormat.Tiff;
    ImageCodecInfo imageCodecInfo = ImageCodecInfo.GetImageEncoders().FirstOrDefault(x => x.FormatID == imageFormat.Guid);

    // 画像形式を変換する
    var exiFileNameLocalRle = Path.ChangeExtension(exiFileNameLocal, "") + "_rle." + Path.GetExtension(exiFileNameLocal);
    using (Bitmap bitmap = new Bitmap(exiFileNameLocal))
    {
    bitmap.Save(exiFileNameLocalRle, imageCodecInfo, parameters);
    }
    -------------------------------
親記事 /過去ログ169より / 関連記事表示
削除チェック/

■97436  Re[1]: TIFFファイルの「ビットの深さ」の変換
□投稿者/ 魔界の仮面弁士 -(2021/05/13(Thu) 09:56:05)
記事No.97434 のレス /過去ログ169より / 関連記事表示
削除チェック/

■97462  Re[2]: TIFFファイルの「ビットの深さ」の変換
□投稿者/ tan -(2021/05/19(Wed) 11:25:49)
    No97436 (魔界の仮面弁士 さん) に返信
    > ■No97434 (tan さん) に返信
    >>ビットの深さを「モノクロ」に変換したいのですが、
    >
    > Bitmap.GetPixel メソッドで得た各座標の色に対して、
    > それぞれの明るさを Color.GetBrightness メソッドで調査し、
    > 明るければ白、暗ければ黒に傾ける方法があります。
    > 下記を参考にしてみてください。
    > https://dobon.net/vb/dotnet/graphics/1bpp.html
    >
    > GetPixel で遅い場合は、LockBits メソッドを使う事ができます。
    > https://dobon.net/vb/dotnet/graphics/colorbalance.html#lockbits
    >
    >
    > あるいは OpenCV で実装することもできます。
    > Cv2.CvtColor でグレーカラー変換してから、Cv2.Threshold を呼び出します。
    > OpenCvSharp4.Windows の実装例が下記にあります。
    > https://maywork.net/computer/opencvsharp-to-threshold-otsu/
記事No.97434 のレス / END /過去ログ169より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -