I have a scenario that's slightly different than the usual mtf-mapper case, and am wondering what the right way to approach it is. I have
A low-resolution sensor: 640x480
With a VERY wide lens: 160deg corner-corner
Focused at infinity
I want to measure lens acuity. Normally I would use the lensgrid chart, and "mtf_mapper --annotate --lensprofile", but with the wide lens this doesn't work right.
A sample image of the lensgrid chart placed chart squarely in front of the camera is attached in wide-headon.png. I process it in two ways, using the input image or undistorting it:
I'm attaching both annotated results. Notes/questions:
Using the input image, only the edges near the center are detected. I'm guessing this is because the ones further out are simply too small. Is that correct? Should I create some sort of custom chart, with bigger elements at the edges? Should I process the edges separately, with the chart placed at an angle?
Is the recommendation to place the chart normal to the optical axis satisfiable for a wide lens? Here the observation vectors point in very different directions as we move away from the center. Is that ok?
My understanding (probably incorrect!) is that the undistorting helps mtf_mapper find the edges, but doesn't affect the MTF logic. Comparing wide-headon-annotated-input.png and wide-headon-annotated-reprojected-pinhole.png I see similar, but not identical MTF50 results. I also see very different edge validity results (the colors of the annotated MTF values): the undistorted version has many more cyan edges. This feels like a bug. Is it right?
Next. I'm calibrating these lenses with a checkerboard anyway, so I already have lots of checkerboard images. I did the above with one of those images and --checkeboard. Observations:
As before, similar-but-not-identical MTF values and very different colors
Half the checkerboard not detected at all
Is this expected? I get the sense --checkerboard isn't used very often.
Hi.
I have a scenario that's slightly different than the usual mtf-mapper case, and am wondering what the right way to approach it is. I have
A low-resolution sensor: 640x480
With a VERY wide lens: 160deg corner-corner
Focused at infinity
I want to measure lens acuity. Normally I would use the lensgrid chart, and "mtf_mapper --annotate --lensprofile", but with the wide lens this doesn't work right.
A sample image of the lensgrid chart placed chart squarely in front of the camera is attached in wide-headon.png. I process it in two ways, using the input image or undistorting it:
I'm attaching both annotated results. Notes/questions:
Using the input image, only the edges near the center are detected. I'm guessing this is because the ones further out are simply too small. Is that correct? Should I create some sort of custom chart, with bigger elements at the edges? Should I process the edges separately, with the chart placed at an angle?
Is the recommendation to place the chart normal to the optical axis satisfiable for a wide lens? Here the observation vectors point in very different directions as we move away from the center. Is that ok?
My understanding (probably incorrect!) is that the undistorting helps mtf_mapper find the edges, but doesn't affect the MTF logic. Comparing wide-headon-annotated-input.png and wide-headon-annotated-reprojected-pinhole.png I see similar, but not identical MTF50 results. I also see very different edge validity results (the colors of the annotated MTF values): the undistorted version has many more cyan edges. This feels like a bug. Is it right?
Next. I'm calibrating these lenses with a checkerboard anyway, so I already have lots of checkerboard images. I did the above with one of those images and --checkeboard. Observations:
As before, similar-but-not-identical MTF values and very different colors
Half the checkerboard not detected at all
Is this expected? I get the sense --checkerboard isn't used very often.
Thank you very much.