I rather think you are, unless you prefer the distortion-corrected,nicely colour-rendered JPG's.
Only drawback is white-balance has already been applied.
Eeeyup... Now I am.
I'm not really enjoying the fact that jpeg compression would add even the tinyest artifacts to the original sample. I doubt Canon uses JPEG-LS or JPEG2000, so I'll continue to assume there is artifacts. But I'm not adamant to the point I'd transfer a complete sensor output dump each time. As reyalp mentioned (or was is you), returning the buffered jpeg would be the best compromise, both in access time and data weight.
Before you get too carried away with this can I ask for technical details of the proposed application ?
Yes, you can....
More seriously, I plan to achieve "static" vision, many leagues away from the "motion detection" or "mach-speed assembly line QC" people usually associate automation vision with.
Static vision is mostly used in punctual but thourough checks, such as machine tool inspections (
what is the actual tap or drill bit dimensions, did the operator made a mistake), items counting (
imagine a bed of Swarovski beads your machine has to pick and sort, or SMD components to be rotated precisely), perceptive tint aspect checks (
does the hull a robot just painted has speckles or embedded dust ) .
Etc.
This can only be achieved with high-resolution devices. Canon camera over PTP are a great trade-off to handymen (as yours truly) when you consider the price of some secondhand ones on eB... an such trade site.
Based on what existing PTP clients can do (including my own) I cannot see that you need anything special, bearing in mind the constraints mentioned.
Fact is, I don't need anything complicated from the client app. I'd just like a
DLL to offer me remote control options reacting as quick as CHDKPTP does, and direct snapshot downloading without messing with the flash card (this last part, however, may not be included in the PTP standard, so I may put it aside).
Ideally, all this would have to be acheivable on any platform ported to CHDK, trunk release.
Since C# would allow me to distribute this dll for free for both Windows (LibUSbDotNet) and Linux (MonoLibUsb) architectures, I though it was worth a try as an open-source project.
Moreover, C# makes pixel shaders easy to access on both platforms ( with DirectX or OpenGL), isn't prone to memory leaks, and a great
non-commercial image manipulation
Managed library exist, that some of you may already know :
Aforge.Net (
http://www.aforgenet.com/).