Home » Community » Forums » » An Introduction To Digital Image Processing
  Intel sponsors gamedev.net search:   
[Control Panel] [Register] [Bookmarks] [Who's Online] [Active Topics] [Stats] [FAQ] [Search]

Add Forum to Favorites |  Send Topic To a Friend | View Forum FAQ | Track this topic


 Last Thread Next Thread 
 An Introduction To Digital Image Processing
Post Reply 
WOW! Great article, have to look into this into greater detail. I've been looking for this kind of overview for a long time.
Thanks a lot, keep up the good work!

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Great article!

I'm not sure if I'll ever make an image-editor, but if anyone does, this article is a great help on image-effects.

--
You're Welcome,
Rick Wong
- sitting in his chair doing the most time-consuming thing..

 User Rating: 1469   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

Nice Article,

Not sure what on Earth I would use it for, but still very interesting.

Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes, the ones who see things differently.

 User Rating: 1743   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Very interesting, well written.

Wizza Wuzza?

 User Rating: 1241   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Great article, i especially liked the bit about motion detection, I think i'll use your article to build from for my robots vision system

 User Rating: 1353   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

I started my first computer vision project last weekend and this article will help me greatly, thanks.


 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

That's fantastic. I sat down and wrote up a quick test implementation of the edge detect code on the UNIX cluster here at school, and (after fiddling with libtiff for a long time) I got some results. Pretty fantabulous. I can't wait to get home.

KB

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Yeah, cool stuff. I did a uni course covering these ideas. Not used them as much as I had hoped to yet though.


pan narrans | My Website | Study + Hard Work + Loud Profanity = Good Code

 User Rating: 1788   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

Very good article, well written. I wish the printable version actually fit on my paper because it was good enough to print out

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

caffeineaddict:

Just a quick note to be aware that the technique for motion detection is very simplistic as laid out in this article (rightfully so, being as it was meant as an inttroduction). More sophisticated techniques for extracting moving objects (or more specifically, interesting foreground objects) are often needed to segment the motion properly (this has to do with illumination, shadows, and slower moving background objects). Some techniques for doing this include modeling each pixel as a mixture of guassian distributions (do a google search on motion segmentation, should come up with a bunch of information). Just wanted to let you know if you were doing anything sophisticated with computer vision and robotic vision systems. Computer vision, like all other fields, is continuously evolving and there are always better algorithms for real-time motion segmentation (while keeping a decent frame rate) appearing every day.

On a related note, nicely written article to help people get started in computer vision and image processing techniques, nicely done.

Magius

 User Rating: 1080   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

thanks for the information about that, i'm not going to be doing anything sophisticated to start with, just something to pick up on objects that are moving.

 User Rating: 1353   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

I have created an embossing effect just by thinking of how colours work. I can create fast embossing by using only two pictures. This effect makes it possible to adjust the embossing effect on the fly by only moving one picture in regard of the other.

Mail me on bonofobia@gmail.com for a demonstration of the effect.

 User Rating: 1015    Report this Post to a Moderator | Link

image processing web: http://www.yaodownload.com/video-design/imageprocessing/

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

I thought I wrote this simple convolution function properly but it doesnt seem
to work. When I convolve a sine wave with a step function or any signal I get alot of mess. I see that in this article you implimented it on images which I could imagine takes more computation than audio which is only 2 dimensional.

void Convolve(float *InputSignal,long N,float *ImpulseResponse,long M,float *OutputSignal)
{
long i = 0;
long j;
ZeroFill(OutputSignal,N);

while ( i < N+M)
{
j=0;

while ( j < M)
{

if((i-j) >= 0) // I ignore the first negative indexes.
{

OutputSignal[i] = OutputSignal[i] + ImpulseResponse[j]*InputSignal[i-j];

}

j++;

}

i++;
}

}

The Reason I would like to use a convolution function is to impliment FIR filtering later on. If anyone sees what I am doing wrong I would really appreciate seeing the proper code. Thanks



 User Rating: 991   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

hi all, i am working in character segmentation. i am need of some algorithm to segment touching character(binary image). can anyone of you, help me in this

regards
rajeshkanna

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Very basic stuff... No offense but why can't gamedev ever get into the interesting stuff instead of always rehashing the basics? And if you are going to talk about the basics, do something different rather than copying stuff right out of a textbook. The worst part is that this particular article isn't even about game development. Why not also add an article on the theory of crop rotation?



 User Rating: 1015    Report this Post to a Moderator | Link

Quote:
Original post by Anonymous Poster
Very basic stuff... No offense but why can't gamedev ever get into the interesting stuff instead of always rehashing the basics?


Not everyone has had the chance of following engineer studies. In fact most of amateur game programmers haven't. Let other people learn. If you're so experienced on the topic don't read an article entitled "An INTRODUCTION to...", dumbass.


Quote:

And if you are going to talk about the basics, do something different rather than copying stuff right out of a textbook.


Hopefully, alot of the theory in this article can be read in any text book.
But example source code, implementation details, applications on sample images constitute a real added value of the article.


Quote:

The worst part is that this particular article isn't even about game development.


Game development involves alot more than raw programming. Of course, not every line of the article will be useful for a game programmer, but take an example : blurring, blending, rotating and resizing are at the center of animation design in 2D games.
But anyway, game programmers are interested in all kind of algorithms related to computer science as long as it's clever. You must be the kind of guy who programs to earn money...

[Edited by - Misc109 on June 29, 2007 9:28:23 AM]

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

I didnt read all of it, but I noticed something in the last paragraph:

"The Fast Fourier Transform, for example, [...], becomes useless in image processing."

Eerrmh? This doesnt seem a good advice to me.

Why? Because you actually did point out before that FFT is important for fast computation of the correlation of two images.

Maybe you mentioned it, but you should also note that FFT can significantly speed up convolution, which is important for bigger filter masks.

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by alceloco

"The Fast Fourier Transform, for example, [...], becomes useless in image processing."



Indeed, this sentence is very unclear and contradicts what is detailed before in the article (using the FFT to speed up filter convolution).

What I meant is that when you visualize an FFT of an audio signal, the information contained in the signal becomes more "understandable". The FFT of an image is much harder to interpret.



 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by Misc109
The FFT of an image is much harder to interpret.


Yep, okay.. thats true :)

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

please give me an example of a discrete low pass filter of size 5*5 and another of size 7*7 , in image processing.



 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Sounds like a homework question to me! I shan't give you an answer, but think about this:

A 'low-pass' filter is a filter that lets through low frequencies whilst attenuating high frequencies. In an image, high frequencies are the details, and solid blocks of colour are low frequencies. So, how do you remove details...? Blurring! And how do you blur very simply? Averaging! Now you've just got to put that in kernel form.

Also, remember to design your kernel so as not to increase or decrease the overall intensity of the image.


p.s. I didn't read the article so I may have just repeated part of it, I just clicked on the topic title from the front page!

 User Rating: 1075   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Hello everyone,,,

Guys i need to know how could we determine the velocity of an object in image??

cheers

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Hi guys, pretty new to Image Processing. however I need to do a bit of Shape ecognition for a little scanner app I am working on (personal project).

Basically I want to detect a smaller image in a larger picture. Much like the "Shape Recognition" part of the posted article: http://www.gamedev.net/reference/articles/article2007.asp

My images are a maximum of 40x40 pixels. obviously i am looking for the fastest method available.

The example given in the article seems perfect for what I want to do, however I have absolutely no idea where to start implementing it in vb.net.

Has anyone any idea how to do this?

I have looked at retail image processing modules/dll/classes, however they are very expensive and seem processor intensive for the little bit of work i need it for.

Any help would be greatly appreciated.

Nemo

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link
All times are ET (US)

Post Reply
 Last Thread Next Thread 
Forum Rules:
You may not post new threads
You may post replies
You may not edit your posts
You may not use HTML in your posts
Jump To:
Administrative Options: