[Mono-devel-list] System.Drawing Tests - image recognitionsimilarities
rafim at mainsoft.com
Sun Jun 5 12:07:05 EDT 2005
I have a first proposal for automatic testing of System.Drawing:
1. Use W3C SVG conformance test suite test files
2. Use SVG# library in order to convert SVG files into a picture.
And SharpVectorGraphics (aka SVG#):
3. Compare the SVG image with the expected image using MSE.
ImageMagick is also using MSE for image comparison.
If MSE is not "fine" enough, we will add more compare algorithms to the
From: Jordi Mas [mailto:jordi at ximian.com]
Sent: Monday, May 30, 2005 10:44 PM
Cc: Oren Gurfinkel; mono-devel-list at lists.ximian.com
Subject: Re: [Mono-devel-list] System.Drawing Tests - image
El dl 30 de 05 del 2005 a les 11:05 +0300, en/na RafaelMizrahi va
> Hi Jordi, (and mono devs)
> Mainsoft wish to invest some effort in testing System.Drawing.
> We wish to enhance the test suite with an image compare component which
> compare the difference between the expected .NET image and the mono image.
> The comparer (which we just started prototyping it) will be customized and
> produce a result according to several algorithms:
> * Prior to compare: format, size, colors, resolution
> * Color - strip boarders; compare histograms to get top colors and areas.
> * Edge Detect - edge detection, and line generation, compare line lists.
> * Histogram to detect shapes
> * FFT (or cosine transform) of sub-regions or the whole image.
> * Tangent space Vectors
> * I appreciate your inputs?
We never devoted to much time to create a System.Drawing testing suite,
as a matter of fact that it hast just been included as part of the build
testing procedure very recently. We appreciate any effort to enhance
the current test suite.
As Ben point out, most of drawing functions test should be validated
manually and then use the value obtained to do regression testing in the
future. I mean, we run the test manually, we make sure that we look as
Microsoft, and then we write the value down and the test use that value
in the future for regression testing. The manual part needs to be done
Since we are hacking System.Drawing a lot, regression tests have become
more important. Also we depend very heavily on libgdiplus and how future
releases of this library may break things that were testing and working
on the past.
> * Do you recommend on a curtain GPL library?
My personal preference will be to use the same license that the class
library, but you better check with Miguel.
> * Does anyone have such task in his TODO list?
Right now, we are focused on finishing Managed.System.Forms and nobody
is looking into enhancing the System.Drawing tests.
If you have any questions, feel free to write to the list or me
Note: Just as word of warning: text drawing in libgdiplus does not have
advanced I18N support. Regarding codecs, some of them do not support all
the features that Microsoft does.
Jordi Mas i Hernàndez - Mono development team - http://www.mono-project.com
Homepage and LiveJournal at http://www.softcatala.org/~jmas
More information about the Mono-devel-list