Why in-camera HDR is still not in CHDK - General Discussion and Assistance - CHDK Forum

Why in-camera HDR is still not in CHDK

  • 10 Replies
  • 5364 Views
Why in-camera HDR is still not in CHDK
« on: 13 / March / 2012, 00:58:21 »
Advertisements
I have searched this forum about in-camera HDR. A few professional photographers claimed it is useless to have HDR on camera since you can do it on your computer. I understand professional photographers want to develop artistic works and they are willing to spend hours on computer. But for an average user, I just want a OK HDR function when I take daily pictures, not artistic ones. Many failed pictures by an ordinary user like me, are those taken in a high dynamic range environment, such as by a window. If a in-camera HDR is handy, it can save many many pictures.

I still don't understand why there is not such a function in CHDK after many versions have been released.  Even my iPhone app can take multiple pictures and combine them into a HDR one. And Magic Lantern, if you are familiar with, can do HDR video (but they don't have HDR photo either)! Sorry for my ignorance, I don't think it's too difficult to implement.

As an ordinary user, I just want a OK picture in high dynamic range environment. I don't care about if the tone of the HDR is favorable in some professional photographer's eye.


Can someone please tell me why HDR is not in CHDK yet? 

*

Offline fe50

  • ******
  • 3152
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50
Re: Why in-camera HDR is still not in CHDK
« Reply #1 on: 13 / March / 2012, 02:49:26 »
Hello & welcome !

Can someone please tell me why HDR is not in CHDK yet?
Because of the camera's hardware limitations.
The core CPU (ARM, <100 Mhz) is very slow on the Powershots; there's also special hardware for video or imaging in Canon's DigiC, but we don't have access or can't control this specialized DSP's.

You can merge images with the RAW Development commands from within a Lua script, but this is very slow...

In the CHDKDE forum there's a (long) thread & some samples (german language only !):
* http://forum.chdk-treff.de/viewtopic.php?f=7&t=815&hilit=hdr+f%C3%BCr+arme

Re: Why in-camera HDR is still not in CHDK
« Reply #2 on: 13 / March / 2012, 06:41:23 »
I don't think it's too difficult to implement.

Why do you say that ?

*

Offline dvip

  • ****
  • 451
Re: Why in-camera HDR is still not in CHDK
« Reply #3 on: 13 / March / 2012, 11:51:12 »
You could use the hdr.lua script, modify it, or create your own.


*

Offline reyalp

  • ******
  • 14121
Re: Why in-camera HDR is still not in CHDK
« Reply #4 on: 13 / March / 2012, 16:20:17 »
You could use the hdr.lua script, modify it, or create your own.
kisas is requesting the the camera actually produce the final HDR image. hdr.lua just does bracketing, it doesn't give you an "HDR" jpeg at the end.

Sorry for my ignorance, I don't think it's too difficult to implement.
It would be very difficult to implement well enough to be useful for general users. Keep in mind that the cameras are not capable of taking more than a few frames per second in still mode (at best, most struggle to reach 1 fps in normal shooting). That means that unless you are shooting with a tripod, there will be significant movement between shots. Even if you use a tripod, it will only work on a static scene.

Aside from that, there are the hardware limitations fe50 mentioned. There is not enough free ram to work with a whole image at once, and the CPU is quite slow. Setting up good workflow on your PC might take some effort, but once it's done the processing will be much faster than anything that could be done on camera.

Perhaps worse than the hardware is software. On a PC, if you want to write an image processing application you have access to a vast array of already written libraries. Smartphones are more limited, but there's still quite a bit available.  CHDK is very different. Because it is hacked into an undocumented proprietary system, most normal software cannot be made run with a reasonable effort, even in the rare cases that would fit within the resource limits. What this means is that anything for CHDK has to be written from scratch.
Quote
As an ordinary user, I just want a OK picture in high dynamic range environment. I don't care about if the tone of the HDR is favorable in some professional photographer's eye.
Getting a good image is much harder than producing the over-saturated glop that gets called "HDR"....

As a final note, raw (including DNG) does give you a bit more dynamic range than camera jpegs. However, you will still have to spend a lot of effort on a PC based workflow to get results that are significantly better than camera jpegs. There is also Canon's icontrast on most recent models.
Don't forget what the H stands for.

Re: Why in-camera HDR is still not in CHDK
« Reply #5 on: 13 / March / 2012, 16:30:09 »
Thanks fe50, that's the first helpful answer I got regarding this. Most people just said "we are professional photographer and we don't need it." It seems I came to the right place.

I don't have a general idea about how much CPU power needed for processing HDR. But as I can remember, sony released a camera in 2010 that can do in camera HDR. I have a S95, I'm not sure if the CPU on s95 is sufficiently powerful. But I can wait for 5-10 seconds for a HDR picture. I have a EOS 5D mk II, I'm not sure the CPU on this camera is fast enough. But again, I would wait for 5-10 seconds to get a HDR picture immediately, rather than processing them on computer after a few weeks.

Thanks for the link and thanks to google translate  :D. Without access to DSP chips, that might be a big issue to make to fast.


Hello & welcome !

Can someone please tell me why HDR is not in CHDK yet?
Because of the camera's hardware limitations.
The core CPU (ARM, <100 Mhz) is very slow on the Powershots; there's also special hardware for video or imaging in Canon's DigiC, but we don't have access or can't control this specialized DSP's.

You can merge images with the RAW Development commands from within a Lua script, but this is very slow...

In the CHDKDE forum there's a (long) thread & some samples (german language only !):
* http://forum.chdk-treff.de/viewtopic.php?f=7&t=815&hilit=hdr+f%C3%BCr+arme

Re: Why in-camera HDR is still not in CHDK
« Reply #6 on: 13 / March / 2012, 16:46:53 »
Thank you for the replies. It cleared almost all my confusion.

"Keep in mind that the cameras are not capable of taking more than a few frames per second in still mode (at best, most struggle to reach 1 fps in normal shooting). " My iPhone 4s is capable of taking two pictures and merged into one. The outcome is quite good actually, no tripod is needed. I think what they did is first matching the pixels ( matching the same static objects in both pictures ) and then blend. You are right that, although there are many open source HDR work flows there, but implementing it on a camera about which too much is unknown.

I will take your suggestion of making good use of raw image.

Thanks !



You could use the hdr.lua script, modify it, or create your own.
kisas is requesting the the camera actually produce the final HDR image. hdr.lua just does bracketing, it doesn't give you an "HDR" jpeg at the end.

Sorry for my ignorance, I don't think it's too difficult to implement.
It would be very difficult to implement well enough to be useful for general users. Keep in mind that the cameras are not capable of taking more than a few frames per second in still mode (at best, most struggle to reach 1 fps in normal shooting). That means that unless you are shooting with a tripod, there will be significant movement between shots. Even if you use a tripod, it will only work on a static scene.

Aside from that, there are the hardware limitations fe50 mentioned. There is not enough free ram to work with a whole image at once, and the CPU is quite slow. Setting up good workflow on your PC might take some effort, but once it's done the processing will be much faster than anything that could be done on camera.

Perhaps worse than the hardware is software. On a PC, if you want to write an image processing application you have access to a vast array of already written libraries. Smartphones are more limited, but there's still quite a bit available.  CHDK is very different. Because it is hacked into an undocumented proprietary system, most normal software cannot be made run with a reasonable effort, even in the rare cases that would fit within the resource limits. What this means is that anything for CHDK has to be written from scratch.
Quote
As an ordinary user, I just want a OK picture in high dynamic range environment. I don't care about if the tone of the HDR is favorable in some professional photographer's eye.
Getting a good image is much harder than producing the over-saturated glop that gets called "HDR"....

As a final note, raw (including DNG) does give you a bit more dynamic range than camera jpegs. However, you will still have to spend a lot of effort on a PC based workflow to get results that are significantly better than camera jpegs. There is also Canon's icontrast on most recent models.

Re: Why in-camera HDR is still not in CHDK
« Reply #7 on: 13 / March / 2012, 16:48:57 »
Sorry for my ignorance, I was thinking of the iPhone app "pro HDR" working perfectly on my phone.

I don't think it's too difficult to implement.

Why do you say that ?


Re: Why in-camera HDR is still not in CHDK
« Reply #8 on: 13 / March / 2012, 16:50:41 »
with 5D mk III coming out, would the HDR function on mk III be hacked and used on 5D series? interested to know

*

Offline reyalp

  • ******
  • 14121
Re: Why in-camera HDR is still not in CHDK
« Reply #9 on: 13 / March / 2012, 17:04:16 »
Thanks fe50, that's the first helpful answer I got regarding this. Most people just said "we are professional photographer and we don't need it." It seems I came to the right place.
As  developer, I would say your PC is the appropriate place to do image processing. IMO, trying to do it on camera is fundamentally misguided and a waste of effort. That said, with modules we can include stuff like this without hurting other users, so if someone else implements it I'd consider it for inclusion.

As a I said before, setting up a workflow on your PC might take some time and effort, but once it's set up it will be faster and almost certainly produce better results than anything you could do on the camera. If your complaint is the amount of effort required to set it up on your PC, you should keep in mind that you are asking a developer to spend hundreds of hours of their time...

There might be an argument for wanting to do it while you are away from your PC, but even there, a smartphone app or web service would be much less effort and probably give better results.
Quote
I don't have a general idea about how much CPU power needed for processing HDR.
Lack of CPU power would make doing on camera painfully slow, but it's not the primary limitation.
Don't forget what the H stands for.

 

Related Topics


SimplePortal 2.3.6 © 2008-2014, SimplePortal