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
 User Demos and Apps
 New Topic  Reply to Topic
Previous Page | Next Page
Author Previous Topic Topic Next Topic
Page: of 8

Uwe

284 Posts

Posted - Oct 16 2015 :  17:01:10  Show Profile  Reply
Nigel, Alpha Controls always supported skinning for ImageEn. I've been using them for many years without problems.

-Uwe
Go to Top of Page

spetric

Croatia
308 Posts

Posted - Nov 11 2015 :  17:07:20  Show Profile  Reply
Regarding statistical color correction by @rmklever;. I have implemented Roy's code in C++ with two more options: collect statistical data from given rectangular region(s) and collect data from selection mask(s). Instead of collecting data only from the whole images user have additional options to collect data from rectangular region or from selection masks. Those options are not so hard to implement and results are very nice.

I've put some examples on my FB page: https://www.facebook.com/Pixopedia/
Go to Top of Page

xequte

38607 Posts

Posted - Nov 15 2015 :  18:38:00  Show Profile  Reply
Nice Spetric,

You have some cool effects:




Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Go to Top of Page

xequte

38607 Posts

Posted - Nov 19 2015 :  21:38:15  Show Profile  Reply
Get Number Plate
by Xequte Software
Full Source and Demo EXE
Works in Delphi 6 or newer



Detect number plates within an image. Works best with Russian number plates.

Download: www.ImageEn.com/files/Other/GetRussianPlate.zip


Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Go to Top of Page

rmklever

Norway
51 Posts

Posted - Dec 29 2015 :  20:09:33  Show Profile  Reply
Picture Color EQ
Delphi 2010, Source code and exe demo :)
by Roy Magne Klever



Download: www.imageen.com/files/other/coloreq.zip

I was testing an idea I had and it turned out to be quite useful, at least for me. Hope you find it interesting and useful too.



Roy M Klever
Klever on Delphi - www.rmklever.com
Go to Top of Page

wesleybobato

Brazil
367 Posts

Posted - Jan 07 2016 :  17:45:10  Show Profile  Reply
ChromaKey

Hello everyone
I'm done Translating a Sample ChromaKey
Python to C ++ With Shazzam Tool.
and "have converted to Delphi"

https://www.youtube.com/watch?v=fOZJ7n2e3L0
https://launchpad.net/firtree
http://www.adug.org.au/technical/fmx/how-to-create-your-own-firemonkeyimage-filtereffect-to-use-with-firemonkey/



attach/wesleybobato/201617203018_ChromaKey.zip
6008.74 KB
Go to Top of Page

wesleybobato

Brazil
367 Posts

Posted - Jan 11 2016 :  12:39:12  Show Profile  Reply
Hello Roy

Color Picture EQ

It is Possible to delete the Selected Color, Using Transparency, Through Alpha Channels?

Thank you so much.
Go to Top of Page

spetric

Croatia
308 Posts

Posted - Jan 15 2016 :  16:10:00  Show Profile  Reply
Here is a demo on how to use SpHost library (8bf filters).
SpHost is small 94k library and it executes 8bf plugins (filters). Library must be included in your project. Not all filters will work! Complete source code (both demo and SpHost) is inside zip. Demo is provided with few freeware filters.



Usage: Load plugins, open image, press Execute.

attach/spetric/201611516543_ien_sp_host.zip
6419.21 KB

Note: some filters require plugin.dll which can be downloaded from the net.
Go to Top of Page

wesleybobato

Brazil
367 Posts

Posted - Jan 15 2016 :  16:57:18  Show Profile  Reply
Hello Siniša.

Thank you for sharing.

have a great day.
Go to Top of Page

spetric

Croatia
308 Posts

Posted - Jan 15 2016 :  17:05:42  Show Profile  Reply
Note that header files are from old PS SDK. If you want to make your own host plug-in you should download the newest SDK version.
Go to Top of Page

wesleybobato

Brazil
367 Posts

Posted - Jan 15 2016 :  17:29:40  Show Profile  Reply
Again thank you for your information.

a great day.
Go to Top of Page

spetric

Croatia
308 Posts

Posted - Feb 09 2016 :  16:58:42  Show Profile  Reply
Pantographic Cellular Automata Inpainting:





Exe and source code:

attach/spetric/201629165612_paca_inpaint.zip
3017.04 KB


Note1: this is quite rudimentary version, just an idea. Fully automated version
requires multi-resolution CA and contour analyzing.

Note2: it does not work well when trying to automatically remove object
from image with strong diagonal contours (such as shown above).
Manual adjustment is necessary.

Have a nice time,
Siniša

Edit: to change matrix logical operator, just click on it (except central element). For more info check http://www.sigmapi-design.com/media/Coupled_Map_Lattice_Brush.pdf


Edit: missing files (project, res)

attach/spetric/201621062437_project.zip
46.2 KB
Go to Top of Page

spetric

Croatia
308 Posts

Posted - Feb 10 2016 :  06:21:32  Show Profile  Reply
Ellipse rotation:


Draw ellipse and rotate it. Ellipse is created from polyline points calculated in grapEllipse object.

Parameters:
Resolution - higher the number, less points are used to construct final polyline.
Rotation trackbar - obvious


Exe and source:
attach/spetric/201621062035_rotate_ellipse.zip
3023.94 KB


More "fancy schmancy" approach would be to check if ctrl or shift button is pressed (in OnMouseMove event) and to rotate ellipse using mouse.

Note: when resolution is set to small number, rotated ellipse is little bit jagged.
Go to Top of Page

xequte

38607 Posts

Posted - Feb 10 2016 :  15:33:01  Show Profile  Reply
Hi Sinisa

Nice work with the inpaint project; I had fun playing with this one. I look forward to seeing it develop further.

You might want to add some hover hints as there are many options to work with.



Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Go to Top of Page

mastinf

Italy
33 Posts

Posted - Feb 11 2016 :  03:41:16  Show Profile  Reply
This demo shows how to create a scan preview form with frame selection.

Download: www.imageen.com/files/other/Scan_Selection.zip

Roberto Nicchi
Master Informatica
Italy
Go to Top of Page

spetric

Croatia
308 Posts

Posted - Feb 11 2016 :  15:46:50  Show Profile  Reply
Besides midpoint, I have implemented another algorithm (trigonometric/general ellipse), so you can switch
between those two algorithms in any time to see the difference.
With trigonometric/ general ellipse method, polyline is less jagged, because of floating point (double) calculation of output points. If there is an interest, I can upload the updated version.

Siniša
Go to Top of Page

spetric

Croatia
308 Posts

Posted - Feb 15 2016 :  08:13:27  Show Profile  Reply
I was experimenting with image energy and min-energy seams and this came out as a by-product. Original article: http://perso.crans.org/frenoy/matlab2012/seamcarving.pdf

Seam carving (content aware scaling).

original image:


scaled (by x):


Exe and source code:

attach/spetric/20162158835_seam_carving.zip
2992.39 KB

Note1: I put black pixels on image border after scaling, however, real stuff is to use alpha channel and fill with zeros.
Note2: seam carver class is threaded.
Note3: There is no backward scaling, because it requires rescaling from beginning, or saving seams into some undo buffer (index maps in article).
Note4: enlarging image is not implemented, (it actually should add seams and fill it with average pixel value left+right/2 in case of horizontal scaling).
Note5: There is no object protection, but it's not hard to implement:we can put a high energy value for pixels in selection mask.
Note6: To force object removal, we put negative energy values for pixels in selection mask.
Note7: To preprocess seams indexing, as suggested by article, we can use idle time in application, and start a thread immediately after image is loaded to create index maps.
Go to Top of Page

xequte

38607 Posts

Posted - Feb 15 2016 :  17:30:38  Show Profile  Reply
Wow, it's impressive how much the seam can be reduced without noticably affecting the subject.



Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Go to Top of Page

spetric

Croatia
308 Posts

Posted - Feb 17 2016 :  16:12:26  Show Profile  Reply
Yes, very cool algorithm, but a little bit slow.
There are some modifications that trades precision vs. speed.

Original algorithm removes seam by seam, but there are some implementations
that calculate all possible 0 connected min seams on original image
and then perform seam removal (this is also suggested in article's appendix).

I have modified prog. a bit (there were also some bugs in energy calculation) and created separate threads for horizontal and vertical seams calculation without removal. Threads are collecting seams and real removal (and restore) is much faster.

However, I have a problem when there is simultaneous horizontal and vertical resizing...I need to create a new map to resolve vertical/horizontal seams crossing. I'll also try an approach with 0 connected seams.
Go to Top of Page

w2m

USA
1990 Posts

Posted - Mar 21 2016 :  10:41:50  Show Profile  Reply
TIEFileDragDrop To TImageEnMView Demo
by William Miller/Adirondack
Full Source
Compiled with Delphi Seattle, but is expected to compile with Delphi 2010 or higher.
Price: Free


The TIEFileDragDrop To TImageEnMView Demo shows how to drag and drop images from the windows shell (File Explorer) to TImageEnMView.

TIEFileDragDrop is not documented for use with TImageEnMView so a brief overview is shown below:

Create a AFileDrop: TIEFileDragDrop; declaration.
AFileDrop: TIEFileDragDrop;

Create a TIEFileDragDrop class in FormCreate:
AFileDrop := TIEFileDragDrop.Create(ImageEnMView1, DropFiles);
Create a Private declaration DropFiles method
procedure DropFiles(Sender: TObject; ssFiles: TStrings; dwEffect: Integer);
Do not explicitly free the AFileDrop object so register a expected memory leak in FormCreate:
RegisterExpectedMemoryLeak(AFileDrop);
Activate dropping in FormCreate:
AFileDrop.ActivateDropping := True;

Download: attach/w2m/2016321105225_TIEFileDragDrop.zip
122.91 KB

Note: Some exception logging Delphi add on's like EurekaLog may show a memory leak even after registering the memory leak, but this is a false positive according to the developers of ImageEn:

"It is best to the let the application handle the freeing of TIEFileDragDrop. Of course then you will get a warning from your memory management tool so you need to register the expected leak (not that it is actually a leak. The object exists for the time of the application and is destroyed when the owner is destroyed).", Nigel Cross

Bill Miller
Adirondack Software & Graphics
Email: w2m@hughes.net
EBook: http://www.imageen.com/ebook/
Custom Commercial ImageEn Development
Go to Top of Page
Page: of 8 Previous Topic Topic Next Topic  
Previous Page | Next Page
 New Topic  Reply to Topic
Jump To: