image processing in D

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Apr 3 11:33:19 PDT 2011


On 4/3/11 7:25 AM, Fawzi Mohamed wrote:
> On 2-apr-11, at 10:40, aman bansal wrote:
>
>> i was trying to chalk out a strategy to go for image processing in
>> D.the closest reference i found was in the implementation of python
>> imaging library.it <http://library.it> has modules for imaging,and
>> input output of jpeg and bmp file formats.the data structures used
>> also are quite accurate.i would like to ask developers what can be the
>> possible problems in implementing image i/o in D on the lines of
>> python imaging library.
>
> As I told you via email
>
> there are two main things, one is reading/writing several formats, I
> would say that you should support at least one standard (simple) format
> natively (the simplest would be netpbm format) but then you could rely
> on libraries to support more.
> Use of external libraries should be discussed with others also, because
> one should rely only on libraries that are widely available,
> cross-platform and with acceptable licensing.
>
> About the image processing itself you probably want to have a simple
> flat representation of the image (as 2d array), and then be able to
> apply several operations on it.
> General convolution is probably something you want to have, masked
> operation might also be very useful.
> Not sure about which other operations you want to support.
> In D1 as part of blip I have implemented nearest neighbor convolution,
> it could be useful to you.
>
> Not sure which bit depth you want to support, one can build a wrapper to
> access arbitrary bit depth/bitchannel contiguous block of memory as 1d
> or 2d array (for example 4channel 12 bit images), this can be useful as
> base type for operations with images that might have an extended bit range.
>
> is this for a GSoC project?

Yes, that is a GSoC project.

Aman, you may want to read the posts I wrote with advice to other 
students before completing your proposal.

A strong proposal would convince us that you (a) understand your domain 
rather well, (b) you understand D's specifics enough to define a good 
API for it, (c) you have studied and absorbed similar endeavors in other 
languages and frameworks, and (e) you have what it takes to complete the 
project.


Good luck!

Andrei



More information about the Digitalmars-d mailing list