I've recently been thinking about using the Raspberry Pi for image processing and wanted to use a Logitech C525 web cam that I'd bought earlier in the year. It quickly became apparent that its resolution was less than expected and although it'd probably be fine, I didn't want the image quality to be the limiting factor of my project. The next step was to start looking around for cheap web cams on my favourite Chinese sites.
I wanted a reasonable image quality and resolution for a decent price, and luckily enough it turns out that this isn't too hard to find. A store on AliExpress called Ailipu Technology was selling an ELPCCTV brand 8 MP USB web cam for approximately 85 AUD. I'll get into the specs later on, but first I want to look at the construction as it differs from a standard retail web cam.
The camera is a cubic shape made of an extruded 40 mm aluminium profile with metallic front and back plates. The camera is mounted to the front plate with a manually adjustable lens protruding out approximately 10mm.
|Back of Web Cam|
The USB cable is removable and is connected with a 4 pin locking connector on the back plate. I assume this allows easier installation if it's used as a security camera. Most of the products the company sell are marketed to the security industry.
|Web Cam Connector|
At the bottom of the connector in the image above you can just see a small metal ball that's used as part of the locking mechanism.
|Web Cam Connector|
The outer part of the connector in the image above is a retractable shell that locks the plug in place when it's inserted.
So now for the specs. The camera has a claimed resolution of 3264 x 2448 and uses a Sony IMX179 sensor. It turns out that this seems to be the same sensor used in the Nexus 5 phone from 2013. The business model that the company appears to use is it to take old excess phone image sensors (could possibly be a lower grade) and re purpose them as web cams. The sales page claims 15 frames per second at maximum resolution but that seems a little far fetched. I've only been able to get 2 fps which seems more realistic for a USB limited connection.
Before using the camera I wanted to be certain that the stated resolution was real and not some made up interpolated number. In the past I've seen webcams that market themselves at the interpolated resolution which in my opinion is a blatant lie. To do this I found an ISO12233 test chart from Cornell University and used it to verify the cameras specifications.
The process is simple, take some photos of a high quality printed version of the chart, and then analyse the image to observe the resolution limits. I went to the local office supply store and had an A1 version of the test chart printed for a couple of dollars and then glued it to 600 x 900 mm Masonite panel that had been painted black.
|ISO 12233 Test Chart|
As you can see from my test apparatus below, this wasn't going to be a very scientific test. The test pattern isn't completely perpendicular to the camera, but by doing the test outside I got as much light as possible on the board to take a good image. For my analysis I'm only testing the vertical resolution just to double check the claims the manufacturer made.
First up is the 8 MP ELP camera with a 3264 x 2448 sized image.
|ELP Camera Test Image|
The lines on the vertical resolution test marker start to merge at about the 1400 lines per picture height mark. As the picture in the image is 1750 pixels high, this mean that the image is a total of 1400*(2448/1750) = 1958 lines high. This may seem small but it's 80 percent of the stated vertical resolution, and when you consider the non ideal test arrangement, and my eyeballing of the resolution chart, I'm satisfied that the resolution claims are correct.
|ELP Camera Resolution Limit|
While I was at it I thought I'd test some other web cams. First up is the Logitech C525 Auto focus camera.
|Logitech C525 Web Cam|
The test shot is at its maximum resolution of 1392 x 768.
|Logitech C525 Camera Test Image|
In this case the markers merge at the 650 lines per picture mark. As the picture is 600 pixels high this means that there should be 650 * (768/600) = 832 lines in the image. Once again this is 8 percent higher than the stated resolution and when you take into account the errors in the measurement method, I'm happy that the stated resolution is correct.
|Logitech C525 Camera Resolution Limit|
Finally, let's test my old C120 camera.
|Logitech C120 Web Cam|
It produces and image with a resolution of 640 x 480.
|Logitech C120 Test Image|
You're going to have to take my word for it, but the test markers merge at about the 350 vertical lines per image mark. As the picture is 347 pixels high, the total image has a resolution of 350*(480/347) = 484 lines, which agrees with the specified resolution.
|Logitech C120 Camera Resolution Limit|