アンシャープマスキング処理で画像をシャープに加工します。
実行環境構築
プロジェクトの作成
mkdir プロジェクト名
cd プロジェクト名
dotnet new console
dotnet add package OpenCvSharp4.Windows
dotnet add package OpenCvSharp4.Extensions
code .
ソースプログラム
namespace Filter2D;
//
// OpenCvSharpのサンプル「画像フィルタによるアンシャープマスキング(先鋭化)」
//
using OpenCvSharp;
using OpenCvSharp.Extensions;
class Program
{
static void Main()
{
var path = @"D:\csharp\OpenCVSample\202311051923.png";
using var sharp = new Mat();
using var blur = new Mat();
// 画像ファイルの読み込み
using var org = Cv2.ImRead(path, ImreadModes.Unchanged);
// ぼかし処理
Cv2.Blur(org, blur, new Size(3, 3));
// フィルターの強度
double k = 5.0d;
// カーネル
double[,] kernel = {
{ -k/9.0d, -k/9.0d, -k/9.0d},
{ -k/9.0d, 1.0+8.0*k/9.0d, -k/9.0d},
{ -k/9.0d, -k/9.0d, -k/9.0d},
};
// 画像フィルタ(アンシャープマスキングフィルタ)
Cv2.Filter2D(blur, sharp, -1, InputArray.Create(kernel));
// 確認のため画像を表示
Cv2.ImShow("blur", blur);
Cv2.ImShow("sharp", sharp);
Cv2.WaitKey();
}
}
実行
dotnet run
ぼかし処理した画像
アンシャープマスキングフィルタ後画像
コメント