ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
Forum membership is Free!  Click Join to sign-up
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Add noise
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

Ruekaka

Germany
25 Posts

Posted - Apr 07 2012 :  16:52:34  Show Profile  Reply
Hi everybody,

is there any method available to add noise to an image (like in PhotoShop)?

Thanks for any hint.

With kind regards,
Ruediger Kabbasch

With kind regards,
Ruediger Kabbasch

fab

1310 Posts

Posted - Apr 09 2012 :  00:15:59  Show Profile  Reply
Hi,
I'm sorry, there isn't a method to add noise to an image.
Go to Top of Page

Patrick Quinn

United Kingdom
81 Posts

Posted - Apr 10 2012 :  01:17:36  Show Profile  Reply
Hi Ruekaka and fabrizio,

You could always have a layer with a photo of real chemical film grain and use that to add noise to an image.

This method gives better results than Photoshop's artificial noise.

There is an article at http://www.tipsfromthetopfloor.com/psc/psc13.php which explains how to do this in Photoshop.

There is a link in the article to a photograph of film grain you can use. You could embed the photo in your .exe file

regards

Patrick
Go to Top of Page

Ruekaka

Germany
25 Posts

Posted - Apr 11 2012 :  09:36:51  Show Profile  Reply
Thanks for the link. This is a good idea.

With kind regards,
Ruediger Kabbasch
Go to Top of Page

fab

1310 Posts

Posted - Apr 12 2012 :  00:28:45  Show Profile  Reply
You could implement Patrick idea with:

ImageEnView1.IO.LoadFromFile('input.jpg');

ImageEnView1.LayersAdd();
ImageEnView1.CurrentLayer.Transparency := 128;
ImageEnView1.CurrentLayer.Operation := ielOverlay;
ImageEnView1.Proc.Random();
ImageEnView1.Proc.ConvertToGray();
ImageEnView1.LayersMergeAll();

Instead of Random() you could load the film grain image.
Go to Top of Page

Ruekaka

Germany
25 Posts

Posted - Apr 12 2012 :  07:42:04  Show Profile  Reply
Thanks for your code Fabrizio,

now I have even different options to add noise.

Perfect.

With kind regards,
Ruediger Kabbasch
Go to Top of Page

AdrianKnowles

USA
35 Posts

Posted - Nov 14 2013 :  16:42:19  Show Profile  Reply
Dear Ruediger,
although this message topic is a little old I wondered if you had come across any pascal code which introduced Gaussian noise into an image? The idea Patrick had is very good however I need to vary the amount of noise within an image.

Kind regards,
Adrian
Go to Top of Page

xequte

38418 Posts

Posted - Sep 07 2023 :  20:57:58  Show Profile  Reply
Hi Adrian

Proc.Random() supports a Gaussian distribution of noise. Are you looking for more than that?

https://www.imageen.com/help/TImageEnProc.Random.html

Nigel
Xequte Software
www.imageen.com
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
Jump To: