On 3 April 2011 20:33, Andrei Alexandrescu <[email protected]>wrote:
> 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 > > This about image processing, got me thinking, hows the shader support for D currently? - Interfaceable though C? Because for image processing, thats def. the way to go, at least in my opinion, that is if you want acceptable processing speeds. And a more specific question; say one wants to blur a picture with Gaussian blur, how would D ranges deal with the 2d array? -- // Yours sincerely // Emil 'Skeen' Madsen
