Switch to full style
Post all Gimp scripts and script writing questions here
Post a reply

new python filter for STAINED GLASS

Thu Mar 10, 2016 12:30 pm

Rod just published my last filter, Mosaic Stained Glass (thanks a lot Rod !).
You can download it from "Latest GIMP Scripts & Plug-ins" here above.
The filter has the following prerequisites:
a) Gimp plug-ins
-- plug-in cartoonizer.exe
b) G'MIC filters, and specifically:
-- Repair/Inpaint (holes)
-- Contours/Isophotes
-- Patterns/Cracks
-- Artistic/Bokeh
About the plug-in cartoonizer.exe you can download from here:
cartoonizer.
After a lot of attempts done in trying to get something acceptable (Issabella knows all my steps, and from time to time I posted some outcome in Gimp-chat) IMO this last version creates acceptable outcomes in general.
Problematic can be very detailed source images, because as you know Stained Glass simplify the contents, but normal or simple images create quite good results.
As usual, this filter has been tested extensively by Issabella (thanks, my friend!), and she will post some of the many outcomes she got during the tests.
Hope you enjoy it
Download from this page - http://gimpscripts.com/2016/03/mosaic-stained-glass/
edit: once downloaded it goes under menu: Diego / Artistic

Note: it requires also
Bevel Reflect Logo.scm
http://gimpscripts.com/2014/02/bevel-reflect-logo/
which requires:
ML Bevel Reflect
http://gimpscripts.com/2014/01/ml-bevel-reflect/

thanks MareroQ for underlying that

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 12:36 pm

You know it's my pleasure to test your nice filters, Dinasset. :)
I'll post some of the results with this nice filter. :)

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 12:38 pm

:) A few more...

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 12:40 pm

and these.

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 12:43 pm

Thank you Dinasset for your hard work, but it's great! :clap

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 12:49 pm

the filter, as default, makes use of two patterns:
Glasstic_8.pat
(2.32 MiB) Downloaded 344 times

gold-32246.pat
(768.03 KiB) Downloaded 297 times


obviously, you may select other ones, when you execute the filter, but to avoid "not found" msg related to the defaults, just install the two I attached here

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 12:54 pm

my "traditional" winter scene...
1979_Dia_194_MosaicStainedGlass.jpg
1979_Dia_194_MosaicStainedGlass.jpg (1014.36 KiB) Viewed 8537 times

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 12:59 pm

for those who like to know details of the implementation:

Flow implemented to get the final result:

1. Create the work image :
# on the basis of the input image size and the desired tile size
# the tile size is created almost fixed 10*10 pixels in the work image
# thus the work image size is reduced according to the desired tile size / 10
2. Stretch the colours using an ancillary function (embedded)
3. Remove too dark pixels (0 set to 16) to have always enough contrast with the grid
4. Add a Layer (duplicate BG) and perform some preprocessing:
# a large blur (24, 48)
# the cartoonized plug-in with removal of small areas
# the G'MIC Inpaint Holes with additional removal of small areas
5. Add a Layer (duplicate preprocessed layer) and run G'MIC Isophotes with flat colours as BG
6. Add a Layer (duplicate preprocessed layer) and run G'MIC Isophotes with transparent BG
and filter to have only black or transparent pixels using an ancillary function (embedded)
7. Add a new Layer and fill it with a yellow colour
8. Prepare the array of present colours using an ancillary function (embedded)
9. Create a work brush of 1 pixel with max specing (1000 which corresponds to 10 pixels)
10.Using the Colour Isophotes Layer as base, loop on the array of colours and for each one:
# convert the selection to a path and stroke it to have the contours
# aspply G'MIC Cracks on the working yellow layer to get the cracks on the specific selected area
11.Remove the yellow bg from the fully cracked layer and fill the grid with a dark bluish colour
12.Add Layers for colour embellishment:
# a layer filled with a plasma (overlay)
# a layer filled with a gradient (overlay)
# a layer filled with G'MIC Bokeh (hardlight)
# a layer filled with a sky gradient (dissolve), setting the light origin where selected by the user
13.Apply a bevel effect on the tiles in the Crack Layer 12.Create a new layer combining the whole grid
14.Reduce opacity of the Colour Isophote Layer
15.Create a new layer and add a border
16.Apply to the border the Metal pattern selected by the user
17.Upscale the Work image, to generate the Final Outcome
18.Flatten the image is asked by the user

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 1:50 pm

...and my (also traditional) red rose

red-rose-MosaicStainedGlass.jpg
red-rose-MosaicStainedGlass.jpg (1.41 MiB) Viewed 8495 times

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 2:10 pm

I applied it on these too. :)

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 2:44 pm

Dinasset & Issabella - thank you for this, yet another great looking filter.

For some reason, right now, I seem to be looking at he world though continually changing coloured glass windows ... :hehe

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 9:18 pm

I have always liked the look of stained glass. Thank you for this filter! I admit I did have some problems. My first couple attempts with different images were all to dark, even if I lightened them first or tried with different layers after. They must have just been wrong for this type of filter. I even tried different patterns for the filter. Once it crashed my program. It was a slightly larger photo. Is there a size limit? On this one I just used the defaults and it came out much better. I did turn off a layer or two as too much gold glitter over the elephant.
DN Stained.PuddlePlay.png
DN Stained.PuddlePlay.png (2.3 MiB) Viewed 1360 times

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 9:39 pm

thanks Pat for your attempts.
Could you post here a couple of pictures (*) for which you didn't get a reasonable outcome?
It can help me in better understanding the weaknesses of the filter.

edit: (*) I mean the originals

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 10:36 pm

dinasset and Issabella, outstanding and beautiful work. Wishing there were a way to make this work on a Mac.

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 10:43 pm

thanks Dalia, unfortunately I do not know which has to be changed to have it work on a Mac, maybe some Mac user can help?

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 10:47 pm

a carousel of outcomes possible starting from the same source:
DSCF0707.JPG
DSCF0707.JPG (1.4 MiB) Viewed 1355 times


defaults:
DSCF0707_SG00.JPG
DSCF0707_SG00.JPG (1.46 MiB) Viewed 1355 times


variation 1:
DSCF0707_SG01.JPG
DSCF0707_SG01.JPG (949.03 KiB) Viewed 1355 times

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 10:51 pm

variation2:
DSCF0707_SG02.JPG
DSCF0707_SG02.JPG (1.51 MiB) Viewed 1355 times


variation3:
DSCF0707_SG03.JPG
DSCF0707_SG03.JPG (6 MiB) Viewed 1355 times


variation4:
DSCF0707_SG04.JPG
DSCF0707_SG04.JPG (1.34 MiB) Viewed 1355 times

Re: new python filter for STAINED GLASS

Thu Mar 10, 2016 11:19 pm

variation 5:
DSCF0707_SG05.JPG
DSCF0707_SG05.JPG (4.01 MiB) Viewed 1352 times


variation 6:
DSCF0707_SG06.JPG
DSCF0707_SG06.JPG (5.16 MiB) Viewed 1352 times


variation 7:
DSCF0707_SG07.JPG
DSCF0707_SG07.JPG (2.16 MiB) Viewed 1352 times


...fantasy is the limit (in addition of course to the limits of the filter itself)

Re: new python filter for STAINED GLASS

Fri Mar 11, 2016 1:09 am

I have a few of the photos that were not satisfactory with this filter. I must say that after my computer was off for a few hours and then I tried the same photos again, they were improved but not to my liking. I may still have some computer problems.

Re: new python filter for STAINED GLASS

Fri Mar 11, 2016 1:27 am

first attempt on Picasso: changed tilesize to 10, colours to 9
you may change other parameters at your taste, but the image in itself sounds quite acceptable to me
picasso23_SG-col9tile10.jpg
picasso23_SG-col9tile10.jpg (1.43 MiB) Viewed 1343 times
Post a reply