You are on page 1of 8

Customized Start Screen in Windows 8 Magic Table in SQL Server Schema in SQL Server 2012

ARTICLE

Image Comparison using C#


Posted by Purushottam Rathore in Articles | Visual C# on January 02, 2009 Tags: compare two image using C#, how to compare images, how to compare images in C#, ImageComparison In this article, I am going to describe how to compare two images using C#. 33

inShare

66940

Reader Level: Download Files:

ImageComparison.zip

I am proud to present you our unique image comparison application in C#.Net. C# .Net provides a good support for processing on the image, and the purpose of this article is not to give you a lot of insight into the image processing, rather it is written to help you start your image processing career using C#. Lets create a project and compare two images using this application. to do this follows the given steps: Step 1: In Visual studio 2005. click on file menu -> New -> Project then the following dialogbox will appear.

Figure 1: Step 2: Now drag and drop the following tools on the Form from toolbox. Two LinkLable One Button Two OpenFileDialog ProgressBar PictureBox

Figure 2: Step 3: Go to properties window and design the form as you want.

Figure 3:

Step 4: Double click on form and write the following line on the form_load. private void Form1_Load(object sender, EventArgs e) { progressBar1.Visible = false; pictureBox1.Visible = false; } Step 5: Add using System.IO; the namespace. Step 6: Write the following line on the linkLabel1_LinkClicked event private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { openFileDialog1.FileName = ""; openFileDialog1.Title = "Images"; openFileDialog1.Filter = "All Images|*.jpg; *.bmp; *.png"; openFileDialog1.ShowDialog(); if (openFileDialog1.FileName.ToString() != "") { fname1 = openFileDialog1.FileName.ToString(); } } Step 7: Write the following line on the linkLabel2_LinkClicked event private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { openFileDialog2.FileName = ""; openFileDialog2.Title = "Images"; openFileDialog2.Filter = "All Images|*.jpg; *.bmp; *.png"; openFileDialog2.ShowDialog(); if (openFileDialog2.FileName.ToString() != "") { fname2 = openFileDialog2.FileName.ToString(); } } Step 8: Finally write the follwoing code in the button click event. private void button1_Click(object sender, EventArgs e) { progressBar1.Visible = true; string img1_ref, img2_ref; img1 = new Bitmap(fname1); img2 = new Bitmap(fname2); progressBar1.Maximum = img1.Width; if (img1.Width == img2.Width && img1.Height == img2.Height) { for (int i = 0; i < img1.Width; i++) { for (int j = 0; j < img1.Height; j++)

{ img1_ref = img1.GetPixel(i, j).ToString(); img2_ref = img2.GetPixel(i, j).ToString(); if (img1_ref != img2_ref) { count2++; flag = false; break; } count1++; } progressBar1.Value++; } if (flag == false) MessageBox.Show("Sorry, Images are not same , " + count2 + " wrong pixels found"); else MessageBox.Show(" Images are same , " + count1 + " same pixels found and " + count2 + " wrong pixels found"); } else MessageBox.Show("can not compare this images"); this.Dispose(); } Step 9: Now debug the application. When you compare same images like as follows:

Img 1:

Img 2: Then the following output will occur.

Figure 4: Step 10: When you compare different images like as follows:

Img 3_Different: Then the following output will occur.

Figure 5:

You might also like