Let me ask a stupid question. It might not be a well specified question, but since I'm a newbie in this field, I'd like to ask it.
The question is this. Why the pixel counts from CMOS image sensor is not linearly proportional to exposure time?
I took images under dim, uniform and stable illumination on object. My object was a clean white paper. In order to avoid making any shadow and non-uniformity on object. I removed everything near the paper and it looked really uniformly white paper. Now I captured lots of RGB565 format data with picamera (OV5647 sensor). Since I'm studying how CMOS image sensor works, I plotted the average sensor counts versus exposure time. The maximum exposure time for the picamera is 6s so I set the time from 0.01s to 6s. But the result was somewhat surprising. The average number that one pixel reads is not linearly proportional to exposure time, but was a log function. It increases rapidly between 0~3second, but then the slope comes down. at 6 second it's slope is so small that it's lower than 1/2. I confirmed that the counts are distributed uniformly and also the maximum value was less than 200. With the RGB565 format maximum brightness corresponds to 255. So there wasn't any saturated pixel among the 5 million pixels.
Could you please let me know how it occurred? I searched some papers describing non-linearity of photosensor. But non of them clearly stated something about this non-linearity between exposure time and sensor count(or electron or voltage)
I'm not dare asking full explanation. But it would be very helpful to me, if you let me know whether this non-linearity is an coincidence or if it means my sensor has been defected. And if it is genuine characteristic of image sensor. I would really appreciate to whom gave me some informations(article, webpage or just keyword) how I can learn the phenomena.
ps: I plotted it for various ISO, but for all ISO settings the sensor counts showed a graph of log function. Papers just mention that there would be some values higher or lower than the linear fit line. However my picamera showed just decreasing derivative. I mean, it goes up rapidly and then goes up slowly.