I have add Gaussian Blur, Glow, and RGB Adjustment to the program.
I want to quote credit to Mr. Jerry Huxtable, he's also a programmer, which also code a program which is similar to my assignment, and he wrote a article discussing various type of blurring and how to perform the calculation.
I also put in a Moveable JScrollPane which pan around the image. I re-use the codes from my previous group assignment, since the scrollpane from the particular assignment is very close to what I want, I did some re-calibration, and fit it into my program.
I'm an undergraduate currently doing Digital Media Computing subject. This blog records my progresses, thoughts and ideas as I move along with my image-processing assignment project.
Wednesday, September 28, 2011
Sunday, September 25, 2011
Angelina Jolie Test
This post contains the results I get from one of the requirement of the assignment. I was required to create a black-pencil drawing and a color-pencil drawing filter ( which I have done ), and I need to test it on Angelina Jolie's photo.
So, here's the result:
So, here's the result:
![]() |
| Angelina Jolie: Original |
![]() |
| Angelina Jolie: Histogram Enhancement + Black Pencil |
![]() |
| Angelina Jolie: Black Pencil |
![]() |
| Angelina Jolie: Color Pencil |
Assignment Finished
I have finished my DMC assignment! And I fulfilled all the requirements. What's left for now is to write a report, and to wrap up the codes by commenting them.
Saturday, September 24, 2011
New Color Pencil Drawing
Friday, September 23, 2011
Re-do Color Pencil
I will redo the color pencil filter, as I feel that it is not technically a color pencil filter, I will be using the method mentioned in my assignment's reference.
And I will start with the brightness and contrast adjustment by tomorrow.
And I will start with the brightness and contrast adjustment by tomorrow.
Wednesday, September 21, 2011
Background Key
I have done the background keying functionality. However, the background keying do not work perfectly, because there are chancces that the background have similar color with the foreground object, hence resulting a imperfect key.
For example, I have a sandy beach background, and I have a model in from, if the model wears anything that is white, blue, light blue, light brown, just any color that may appears in the background it have blocked, the keying calculation will key out some portion of the model.
I will post the image explaining this soon.
For example, I have a sandy beach background, and I have a model in from, if the model wears anything that is white, blue, light blue, light brown, just any color that may appears in the background it have blocked, the keying calculation will key out some portion of the model.
I will post the image explaining this soon.
Saturday, September 17, 2011
Black Pencil And Color Pencil
I have just finish two composite filter, namely Black Pencil and Color Pencil. I use a list of filters stored in them to render out the image sequentially. However, in Color Pencil, I have to use some inter-image processing technique to blend results together, in order to create a illusion of pencil drawing.
There are some slightly draw backs for the color pencil filter though. It seems that maybe due to the way that the Hydrangeas's photo is taken, the photo is slightly softer than others, which makes the internal calculations to produce a less obvious result, for both color pencil and black pencil.
Anyway, the Chrysanthemum impresses me the most, even though in the photo create a real mess in Automated Histogram Equalization, the photo looks equally good in color-pencil drawing, although I don't think there's any kid can produce that kind of drawing with just color-pencil.
![]() |
| Chrysanthemum: Color Pencil Render |
![]() |
| Chrysanthemum: Black Pencil Render |
![]() |
| Hydrangeas: Color Pencil Render |
![]() |
| Hydrangeas: Black Pencil Render |
![]() |
| Desert: Color Pencil Render |
![]() |
| Desert: Black Pencil Render |
Automated Histogram Equalization
I have built the automated histogram equalization filter for my program. I manually check the values of the map table to make sure that the figures are calculated and arranged correctly in the table. In short, histogram equalization is similar to "Level" adjustment, which is very common in most intermediate image editor. However in this case, the calculation is not adjustable, the color is remapped by assuming the darkest point in the photo as pure black, and the brightest point in the photo as pure white, and all the colors in between are stretched are remapped accordingly.
Automated Histogram Equalization only works for unprocessed/minimally processed photo. The effect of histogram equalization on some more artistic photo will look something like the example of the red-yellow based Chrysanthemum 's photo.
Automated Histogram Equalization only works for unprocessed/minimally processed photo. The effect of histogram equalization on some more artistic photo will look something like the example of the red-yellow based Chrysanthemum 's photo.
![]() |
| Before |
![]() |
| After |
![]() |
| Before |
![]() |
| After |
![]() |
| Before |
![]() |
| After |
Marathon
I have planned to achieve 90% completion by the end of tomorrow. Now I want to simply concentrates on the requirement of the assignment. I have dispose of the move up and move down function as it has no direct connection with my assignment, I will put it back up soon.
I will do some wrap up on previous code, and clean up my GUI, then I will move to the following item:
Automated Histogram AdjustmentPencil Drawing Effect Composition ( Black and White )Pencil Drawing Effect Composition ( Color )Keying using background photo- Simple Filter Adjustment Panel
Wednesday, September 14, 2011
New Histogram!!
![]() |
| New Histogram |
As an addition, I also spend a short while to enhance the histogram for RGB combined channel and Hue channel by using a gradient of black to white for RGB and a Hue Cycle color for Hue channel.
Tuesday, September 13, 2011
HSV Histogram
I will work on histogram again to fulfill the assignment's requirement. The new histogram will be able to display the following channel: RGB combined, R, G, B, Hue, Saturation, and Value/Brightness.
I will try to do something different with the luminance/RGB combined, and the Hue histogram to make it more user-friendly and pleasing. I will post the result by tomorrow, if I pulled it off tonight.
I will try to do something different with the luminance/RGB combined, and the Hue histogram to make it more user-friendly and pleasing. I will post the result by tomorrow, if I pulled it off tonight.
Labels:
Brightness,
Histogram,
Hue,
RGB,
Saturation,
Value
Sunday, September 11, 2011
Graphical User Interface is done
![]() |
| Screen Shot of The Proposed GUI |
Apparently, there were some issues to the non-linear rendering. I have to put on hold for that first, since for now my highest priority is to fulfill my assignment's requirement A.S.A.P. as I have other assignments to work on. I will come back to this whenever I'm free. Who knows? Maybe I will kept on working on this even after this assignment is over, or maybe I should even use it as my final year project.
Labels:
GUI,
JFrame,
Look,
User Interface
Location:
Raub District, Pahang, Malaysia
Friday, September 9, 2011
Non-Destructive Manipulation
I have decided to use non-destructive image manipulation via a list of filter instances. There are still some proves of concept to be done before building a full usable architecture.
I will also try to apply non-linear image rendering via the non-destructive image manipulation. This should greatly improves the image rendering speed, if I'm certain of what I'm doing.
I already have in mind about the new GUI, I will make it as clean as possible, for the ease of use and to accommodate more area for the image itself.
I will also try to apply non-linear image rendering via the non-destructive image manipulation. This should greatly improves the image rendering speed, if I'm certain of what I'm doing.
I already have in mind about the new GUI, I will make it as clean as possible, for the ease of use and to accommodate more area for the image itself.
Thursday, September 8, 2011
Neighborhood Filter
I successfully convert my neighborhood operation into a class-based operation, NeighborFilter. For example, I have a XFilter instance, using it, I can apply the effect stored in the instance to my image. This is the basic concept of it, which is similar to PointFilter.
I will rebuild a new GUI as well. The existing GUI for the program is simply a extension from a example shown in DMC lab session, and it is for displaying and testing purpose. Final GUI will be out by the weekend, if possible.
I will rebuild a new GUI as well. The existing GUI for the program is simply a extension from a example shown in DMC lab session, and it is for displaying and testing purpose. Final GUI will be out by the weekend, if possible.
Wednesday, September 7, 2011
Object Oriented
From my previous build, I rebuild my point operation filters into separate class. Instead of using Filter.negative() a static method in Filter class, I'm now using negative.process(), where negative is an instance of NegativeFilter class. This will grant me more control over the filters in future development.
I will rebuild the neighborhood operation filter by this evening.
I will rebuild the neighborhood operation filter by this evening.
Tuesday, September 6, 2011
Pilot
To be honest, this is not the first post of my development blog. The actual posts that I have made previously, before this blog is setup, is posted here, another blog in my profile.
But still, this blog is considered to be the official blog.
Please refer there for any development post prior to this post.
But still, this blog is considered to be the official blog.
Please refer there for any development post prior to this post.
Subscribe to:
Comments (Atom)





















