Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8292679
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T13:34:09+00:00 2026-06-08T13:34:09+00:00

I have a problem. My company has given me an awfully boring task. We

  • 0

I have a problem. My company has given me an awfully boring task. We have two databases of dialog boxes. One of these databases contains images of horrific quality, the other very high quality.

Unfortunately, the dialogs of horrific quality contain important mappings to other info.

I have been tasked with, manually, going through all the bad images and matching them to good images.

Would it be possible to automate this process to any degree? Here is an example of two dialog boxes (randomly pulled from Google images) :

Good quality image

Bad Quality image

So I am currently trying to write a program in C# to pull these photos from the database, cycle through them, find the ones with common shapes, and return theird IDs. What are my best options here ?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-08T13:34:10+00:00Added an answer on June 8, 2026 at 1:34 pm

    I really see no reason to use any external libraries for this, I’ve done this sort of thing many times and the following algorithm works quite well. I’ll assume that if you’re comparing two images that they have the same dimensions, but you can just resize one if they don’t.

    badness := 0.0
    For x, y over the entire image:
      r, g, b := color at x,y in image 1
      R, G, B := color at x,y in image 2
      badness += (r-R)*(r-R) + (g-G)*(g-G) + (b-B)*(b-B)
    badness /= (image width) * (image height)
    

    Now you’ve got a normalized badness value between two images, the lower the badness, the more likely that the images match. This is simple and effective, there are a variety of things that make it work better or faster in certain cases but you probably don’t need anything like that. You don’t even really need to normalize the badness, but this way you can just come up with a single threshold for it if you want to look at several possible matches manually.


    Since this question has gotten some more attention I’ve decided to add a way to speed this up in cases where you are processing many images many times. I used this approach when I had several tens of thousands of images that I needed to compare, and I was sure that a typical pair of images would be wildly different. I also knew that all of my images would be exactly the same dimensions. In a situation in which you are comparing dialog boxes your typical images may be mostly grey-ish, and some of your images may require resizing (although maybe that just indicates a mis-match), in which case this approach may not gain you as much.

    The idea is to form a quad-tree where each node represents the average RGB values of the region that node represents. So an 4×4 image would have a root node with RGB values equal to the average RGB value of the image, its children would have RGB values representing the average RGB value of their respective 2×2 regions, and their children would represent individual pixels. (In practice it is a good idea to not go deeper than a region of about 16×16, at that point you should just start comparing individual pixels.)

    Before you start comparing images you will also need to decide on a badness threshold. You won’t calculate badnesses above this threshold with any reliable accuracy, so this is basically the threshold at which you are willing to label an image as ‘not a match’.

    Now when you compare image A to image B, first compare the root nodes of their quad-tree representations. Calculate the badness just as you would for a single pixel image, and if the badness exceeds your threshold then return immediately and report the badness at this level. Because you are using normalized badnesses, and since badnesses are calculated using squared differences, the badness at any particular level will be equal to or less than the badness at lower levels, so if it exceeds the threshold at any points you know it will also exceed the threshold at the level of individual pixels.

    If the threshold test passes on an nxn image, just drop to the next level down and compare it like it was a 2nx2n image. Once you get low enough just compare the individual pixels. Depending on your corpus of images this may allow you to skip lots of comparisons.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a simple stupid question. Here's the problem, for years, my company has
I have a problem in my company where suddenly 2 users were having problems
Our company has offices in the US and the UK. We have a MOSS
I have the following SQL problem. Scenario: I have two tables: Change and ChangeTicket.
I have the next problem: The database in the system has denormalized tables with
We're running SharePoint 2007 on a small farm. One department in our company has
I feel like this is math problem more than anything. My company has employees
Our company has thousands of Excel files, where each Excel file describes one IPVPN
Here's my problem. I have 3 days to update my company's Javascript browser detection.
I have problem with http://abfoodpolicy.com/ . In IE 8 and 9 the right sidebar

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.