473,396 Members | 1,590 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,396 software developers and data experts.

image processing

Hi!
I am developing an application in ASP.NET that takes an image, that have
been created with a digital camera or camera phone, and processes it, to
get data from it. The image taken by the user will be of a square in some
kind of magazine or newpaper, with a white background and the border of the
square should be black.

What I am trying to do is to find the square, or the corners of the square,
in the image, using ASP.NET code. If the user always took the picture
directly above the square without any rotation and blur this would not be a
big problem. But that is hardly not the case most of the times.

What I have managed to do so far is to convert the image to gray scale and
then made some kind of thresholding so I will end up with just white and
black pixels. This will make the square very visible in the image, but so
will other dark object, even if alot is taken out in the tresholding.

Finding one of the corners in the square, and always be positively sure
that you have found it, would solve alot. Then I think I can manage to do
the rest. In my solution now, I will sometimes find a corner, but it does
not work for many images.

Does some one have an idea of how to solve this problem? I have tried
different ways of search for objects in the image by looking at all pixels,
but I really dont know how to see the difference between the corner of the
square and an object.

Is it possible to search for patterns in the image? like if I search the
image after objects that are similar to a corner of a square.

I would really like some help with this problem. All kinds of ideas are
welcomed!

Best Regards

Andreas Viklund
UMEA, Sweden

--
Message posted via http://www.dotnetmonster.com
Nov 19 '05 #1
2 1966
Hi Andreas,

You've got quite a problem on your hands. Let's try to analyze it and see
what pops out:
What I am trying to do is to find the square, or the corners of the
square,
in the image, using ASP.NET code. If the user always took the picture
directly above the square without any rotation and blur this would not be
a
big problem. But that is hardly not the case most of the times.
Here's the first problem: People don't do what they're supposed to do (as
you seem to be aware). Not only is the user not always going to get the
picture directly above the square, but, impish beings that humans are, I
would venture to guess that some of these images might not even have a
square in them. Why, they might even be porn pictures!

The blur issue also creates a difficult situation. If the edges of the
square could be counted on to be crisp, it wouldn't be a problem. You would
just start with each outside edge, get all the pixels in a line, see if they
were all black, and after that move in towards the center until they are NOT
all black. This would give you the inside position and measurements of the
square. Of course, that would be assuming that the square is aligned
correctly, which is hardly a certainty.
Is it possible to search for patterns in the image? like if I search the
image after objects that are similar to a corner of a square.
Yes, it's possible. Pattern-recognition is a rather sophisticated science,
but if you have the algorithms and/or the time and resources, you can write
an app that can find patterns in any image. In this case, the pattern is
relatively simple: a square. But as we mentioned, the blur and alignment
issues could make it very difficult. The alignment issue could be handled by
doing various transforms until one found the alignment, or it could be done
by finding a straight black line (assuming that the blur was NOT an issue,
and assuming that there IS a square in the image.

It would help if we knew more about what sort of images these are, and what
they're used for. So far, you've described the square nicely enough, but
what is in the rest of the image? Knowing that could make the job of finding
your pattern much easier (or harder!).

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.

"Andreas Viklund via DotNetMonster.com" <fo***@DotNetMonster.com> wrote in
message news:db******************************@DotNetMonste r.com... Hi!
I am developing an application in ASP.NET that takes an image, that have
been created with a digital camera or camera phone, and processes it, to
get data from it. The image taken by the user will be of a square in some
kind of magazine or newpaper, with a white background and the border of
the
square should be black.

What I am trying to do is to find the square, or the corners of the
square,
in the image, using ASP.NET code. If the user always took the picture
directly above the square without any rotation and blur this would not be
a
big problem. But that is hardly not the case most of the times.

What I have managed to do so far is to convert the image to gray scale and
then made some kind of thresholding so I will end up with just white and
black pixels. This will make the square very visible in the image, but so
will other dark object, even if alot is taken out in the tresholding.

Finding one of the corners in the square, and always be positively sure
that you have found it, would solve alot. Then I think I can manage to do
the rest. In my solution now, I will sometimes find a corner, but it does
not work for many images.

Does some one have an idea of how to solve this problem? I have tried
different ways of search for objects in the image by looking at all
pixels,
but I really dont know how to see the difference between the corner of the
square and an object.

Is it possible to search for patterns in the image? like if I search the
image after objects that are similar to a corner of a square.

I would really like some help with this problem. All kinds of ideas are
welcomed!

Best Regards

Andreas Viklund
UMEA, Sweden

--
Message posted via http://www.dotnetmonster.com

Nov 19 '05 #2
Hello,

if you follow these links you can see a before and after picture of the
image processing I have done so far on one type of image.

http://www.badaboom.se/test/earring2.jpg

http://www.badaboom.se/test/process.jpg

I first converted the image to grayscale and then turned all the pixels to
either white or black. that makes alot of objects disapear. but if you
look at this image:

http://www.badaboom.se/test/shoes.jpg

it has alot more blur and it is not perfectly aligned. Therefor its much
harder to find the square. any suggestions?
could you also explain more how a pattern algoritm would be implemented?

best regards

Andreas Viklund

--
Message posted via http://www.dotnetmonster.com
Nov 19 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
by: Deepa | last post by:
Hi All, I'm facing problem displaying image of size 5000X5000 .My window size is smaller than image size so i'm not able to see the complete image.i can use scroll bars to view the image but i...
1
by: jasonshohet | last post by:
I read recently that: "if a before-image was made before an interruption in database processing, you use the before-image dump & simply begin processing again from just before the last...
5
by: Jigar Mehta | last post by:
Hye Friends!!, Happy New Year!! I am Jigar Mehta from India. Currently I am working on a project in which I need to compress some images on the harddisk... I want to make an engine that reads...
2
by: | last post by:
Hi, we are planning to rewrite an extisting C++ image processing application/library in C#. Now several question arouse where I hope you can help me: So far we allocated a block of memory as...
10
by: stonny | last post by:
Hi, I am converting my matlab program into C/C++. I need to change some image processing toolbox functions into C/C++, such as edge detection, mathematical morphology. Is there any place that I...
10
by: Enrique Cruiz | last post by:
Hello all, I am currently implementing a fairly simple algorithm. It scans a grayscale image, and computes a pixel's new value as a function of its original value. Two passes are made, first...
3
by: birensubudhi | last post by:
hey guys,can anyone tell me what is image processing, how to do it using C. IN KSHITIJ 2007 held at IIT kgp a que by INFOSYS is asked, they hav given an image then cut in different orientation...
2
by: Peter Oliphant | last post by:
The Image class allows loading a bitmap from a graphic file. So far I've gotten it to work with JPG and BMP files. What other graphic file formats are supported in this way? Is this fixed based...
5
by: whisk3rs | last post by:
Hello, I have a conceptual question. I need to write a program that will take as input a list of images and then process each image individually (extract useful features from the image) ...
0
by: tavares | last post by:
(Our apologies for cross-posting. We appreciate if you kindly distribute this information by your co- workers and colleagues.) ...
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: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
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...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

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.