To help me with doing some signal processing on an image, I'd like to model how a digital camera works.

The camera has a bunch of pixels. What is the relationship between the value of that pixel in the resulting image, compared to the intensity of the light entering that pixel sensor?

  • Is it a linear function?
  • Is there some nonlinear response function?
  • If it is nonlinear, how can I recover or model that response function?

1 Answer 1


If I understand you correctly, what you are asking for is called camera response function (CRF) and in general it is nonlinear and depends on camera device. For fixed device denote its CRF by $f$. Then $f$ maps the set of possible scene irradiances (or illuminances) $\mathcal{I}$ at a given spatial location to the set of possible pixel intensity values $\mathcal{B}$ so $f:\mathcal{I}\rightarrow \mathcal{B}$. In order to estimate $f$ you need to prepare a data set of pairs $(I_j,B_j)_{1\leq j\leq n}$ such that $$f(I_j) = B_j$$ In practice you can use $I_j$ as raw camera outputs (for instance you may use dng format) of a given scene $S$ and $B_j$ as a pixel values (extracted from jpg image you have taken immediately after dng image) that correspond to them. Then just use any reasonable regression method.

Estimation of CRF is a subject of a large research in computer vision. Let me give you some prominent references. Since I am not expert in this area, I strongly recommend you to consult them.

Debevec, Malik

Grossberg, Nayar

  • $\begingroup$ Ahh, yes, that's exactly what I was looking for. Thank you! $\endgroup$
    – D.W.
    Oct 22, 2019 at 1:20
  • $\begingroup$ You are welcome. I am pleased that you find my answer useful. $\endgroup$
    – Slup
    Oct 22, 2019 at 6:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.