C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Reviews   Communities   Interview   Jobs   Projects   Training   Your Ad Here    
Silverlight Games | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Polls | Revenue Sharing | Lobby | Gift Shop |


Prizes & Awards
My Profile



Active Members
TodayLast 7 Days more...






Resources » Code Snippets » Images »

Image Comparison in C#


Posted Date: 26 Jul 2008    Resource Type: Code Snippets    Category: Images
Author: Sourav BanerjeeMember Level: Bronze    
Rating: 1 out of 5Points: 8



The code sample is written in C#. It is a windows forms application that checks if two images are the same. This is done by first checking their height and width. The process is continued only when the two parameters are equal for the images. If so, each pixel in one image is compared to the corresponding pixel in the other.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
static string fname1,fname2;
Bitmap img1, img2;
int count1=0,count2=0;
bool flag = true;

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
openFileDialog1.FileName = ""; // Setting the opefiledialog to default
openFileDialog1.Title = "Images"; // Title of the dialog
openFileDialog1.Filter = "All Images|*.jpg; *.bmp; *.png"; // In the filter you should write all the types of image

openFileDialog1.ShowDialog();
if (openFileDialog1.FileName.ToString() != "")
{
fname1 = openFileDialog1.FileName.ToString();
}


}



private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
openFileDialog2.FileName = ""; // Setting the opefiledialog to default
openFileDialog2.Title = "Images"; // Title of the dialog
openFileDialog2.Filter = "All Images|*.jpg; *.bmp; *.png"; // In the filter you should write all the types of image

openFileDialog2.ShowDialog();
if (openFileDialog2.FileName.ToString() != "")
{
fname2 = openFileDialog2.FileName.ToString();
}
}

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();

}

private void Form1_Load(object sender, EventArgs e)
{
progressBar1.Visible = false;
pictureBox1.Visible = false;


}



Attachments

  • Image Compare in C# (19811-26215-IMAGEDETECTIVE1.1.msi)


  • Responses


    No responses found. Be the first to respond and make money from revenue sharing program.

    Feedbacks      
    Popular Tags   What are tags ?   Search Tags  
    Sign In to add tags.
    Software developer  .  Image comparison in C#  .  Image comparison  .  Compare two images  .  Compare images in C#  .  Compare images  .  

    Post Feedback


    This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
    You must Sign In to post a response.
    Next Resource: How to capture/store screen shot
    Previous Resource: Image uploading to database
    Return to Discussion Resource Index
    Post New Resource
    Category: Images


    Post resources and earn money!
     
    More Resources



    dotNet Slackers

    About Us    Contact Us    Privacy Policy    Terms Of Use