473,383 Members | 1,795 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,383 software developers and data experts.

Identifying filled circles in a scanned image

Hi everybody.

I have a feedback form that I scan into an image. My user fills some circles in this feedback form using black ink. Every form has some rows with suppose five circles each and the user fills only one circle for each row.

I can't think of a way of how to locate which circle was filled.

Can anybody please give me an advice on this?

Thanks.
Jun 9 '10 #1
2 3711
Plater
7,872 Expert 4TB
If the circles are in the same place everytime, look for the pixel data at those locations?
Jun 9 '10 #2
GaryTexmo
1,501 Expert 1GB
Shape identification is not a trivial thing, so if you want to straight up identify the shapes in an arbitrary position on your form, it's actually going to be fairly challenging. Google is your best bet here as smarter folks than I have written entire documents on how to do it. Here's a place to start...

http://stackoverflow.com/questions/1...ion-algorithms

If at all possible, I think Plater's suggestion might be the way to go. If there was a way for you to ensure the scanned image would be the same way every time, you could start making assumptions as to where things would be.

Off the top of my head, a good way to do this might be to include reference lines on your form, perhaps some lines that denote the outer boundaries. Your program could analyze the first few rows/columns of pixel data to find the bounds, then work under the assumption that everything inside those bounds is at preset offsets from the origin.

This is probably the simplest method but it will fail if your scan is at an angle or the paper is crumpled.

A more complex approach would be to have the check-boxes very clearly differentiated from the background and scan for gaps, then make assumptions as to what the gaps mean. Like, if you had a row of circles, one line of that might look like this..

Expand|Select|Wrap|Line Numbers
  1. X    X       XXXXXX       X    X       X    X
If this is treated the same was as open/close bracket matching is, you should be able to tell where the circles are and blocks of several filled pixels together would be your filled circle. Of course, you'll need to process the row data all together so you know where the top/bottom edges of the circles are too.

I hope this gives you some ideas!
Jun 9 '10 #3

Sign in to post your reply or Sign up for a free account.

Similar topics

5
by: Dan Novak | last post by:
Hello, I'm trying to apply different backgrounds to a page based on the BODY element class. It's working on some browsers but not on others. I've searched Google and the groups, pored through...
0
by: Jacky11 | last post by:
Hi everyone, I have spent several hours on this topic, and I still don't have the right solution. However, you guys can accomplish in 5 minutes much more then I can accomplish in 5 hours. :-)...
6
by: helpless newbie | last post by:
Hello. I'm a newbie in c programming. I'd like to make a program for creating an image file from a floppy disk. Is there anyone with agood point of start in doing this? Thanks.
1
by: Wolfgang | last post by:
I'm a Java developer relatively new to to VB .NET (and I don't know the old VB6 at all). I know how to draw lines, circles and other simple shapes on a form in VB.NET (using the onPaint event)....
0
by: Gilgamesh | last post by:
Hi, I have some very limited knowledge of web development but I have an imagemap in which I want to be able to display a small yellow circle at certain pre-define locations. When the user moves...
6
by: Neo Geshel | last post by:
About 4 months ago I came across this one web page that talked about streaming raw image data (from a database, for example) directly to a web page without requiring a secondary ASPX page to...
3
by: Douglas Douglas | last post by:
Hi everybody. I have a paper form that I scan into an image. My user fills some circles in this paper form using black ink. Every form has ten rows with five circles each and the user fills only...
1
by: Brian | last post by:
Using A2K I have an image control on a report and use code to set the image.picture to the required jpg. 3 of the jpgs resize properly but 2 do not - they display much smaller than the image...
7
by: Ben | last post by:
Hi We are looking for a component that offers that offers the below for Tiff files: Image clean-up (deskew, despeckle) Printing capabilities from VB The ability to add text to image, e.g....
5
by: Steve | last post by:
Hi all Does anybody please know a way to extract an Image from a pdf file and save it as a TIFF? I have used a scanner to scan documents which are then placed on a server, but I need to...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.