static void Main(string[] args) { var img = new GlayImage(); img.Read("A.pgm"); img.Write("A_p2.pgm"); img.Write("A_clone.pgm"); var hist = new Histgram(img); hist.GetHistgramImage().Write("A_hist.pgm"); }
static void Main(string[] args) { // 2.画像 A,B の反転処理を行い、ヒストグラム分布の変化を確認せよ。 foreach (var name in new string[] { "A", "B" }) { var img = new GlayImage(name + ".pgm"); // 階調を反転 for (var y = 0; y < img.Size.Height; ++y) { for (var x = 0; x < img.Size.Width; ++x) { img[x, y] = 255 - img[x, y]; } } img.Write(name + "_rev.pgm"); var imgHist = GetHistgramImage(img); imgHist.Write(name + "_rev_hist.pgm"); } }
static void Main(string[] args) { // 6.画像CとDのαブレンディング(横方向)を行え。 // 画像読み込み var img1 = new GlayImage("C.pgm"); var img2 = new GlayImage("D.pgm"); Debug.Assert(img1.Size == img2.Size); // 左が C の画像から始まり、右に進むに連れて徐々に D の画像になるようなアルファブレンド画像を作成 for (var x = 0; x < img1.Size.Width; ++x) { var alpha = (double)x / (img1.Size.Width - 1); for (var y = 0; y < img1.Size.Height; ++y) { img1[x, y] = (int)(img2[x, y] * alpha + img1[x, y] * (1 - alpha)); } } // 画像出力 img1.Write("C_D_alpha.pgm"); }