A computer implemented glare reduction method executed by one or more processors, the method comprising: obtaining, by the one or more processors, a first image of a document, the first image including a first glare shown on a first portion of the document; detecting, in the first image and by the one or more processors, the first glare shown on the first portion of the document; in response to detecting the first glare in the first image, obtaining, by the one or more processors, a second image of the document, the second image including a second glare shown on a second portion of the document; and generating, by the one or more processors from the first image and the second image, a third image of the document that includes less glare than the first glare in the first image and less glare than the second glare in the second image, wherein generating the third image comprises generating a first glare map from the first image, the first glare map indicating a location of the first portion of the document that includes the first glare, and wherein the first glare map represents pixels of the first image as binary values that reflect either the presence of glare or the absence of glare in the first image, storing the first image in a buffer for a reconstructed image as an initial reconstructed image, storing the first glare map in a buffer for a reconstructed glare map as an initial reconstructed glare map, registering the second image to the first image to provide a registered image with the buffered reconstructed image stored in the buffer for the reconstructed image, generating a second glare map from the registered image, the second glare map indicating a location of the second portion of the document that includes the second glare, updating the initial reconstructed glare map by performing an "AND" operation between the initial reconstructed glare map and the second glare map to provide an intermediate reconstructed glare map, and generating, from the first image and the registered image, the third image based on the initial reconstruction glare map and the second glare map. obtaining, by the one or more processors, a first image of a document, the first image including a first glare shown on a first portion of the document; detecting, in the first image and by the one or more processors, the first glare shown on the first portion of the document; in response to detecting the first glare in the first image, obtaining, by the one or more processors, a second image of the document, the second image including a second glare shown on a second portion of the document; and generating, by the one or more processors from the first image and the second image, a third image of the document that includes less glare than the first glare in the first image and less glare than the second glare in the second image, wherein generating the third image comprises generating a first glare map from the first image, the first glare map indicating a location of the first portion of the document that includes the first glare, and wherein the first glare map represents pixels of the first image as binary values that reflect either the presence of glare or the absence of glare in the first image, storing the first image in a buffer for a reconstructed image as an initial reconstructed image, storing the first glare map in a buffer for a reconstructed glare map as an initial reconstructed glare map, registering the second image to the first image to provide a registered image with the buffered reconstructed image stored in the buffer for the reconstructed image, generating a second glare map from the registered image, the second glare map indicating a location of the second portion of the document that includes the second glare, updating the initial reconstructed glare map by performing an "AND" operation between the initial reconstructed glare map and the second glare map to provide an intermediate reconstructed glare map, and generating, from the first image and the registered image, the third image based on the initial reconstruction glare map and the second glare map. generating a first glare map from the first image, the first glare map indicating a location of the first portion of the document that includes the first glare, and wherein the first glare map represents pixels of the first image as binary values that reflect either the presence of glare or the absence of glare in the first image, storing the first image in a buffer for a reconstructed image as an initial reconstructed image, storing the first glare map in a buffer for a reconstructed glare map as an initial reconstructed glare map, registering the second image to the first image to provide a registered image with the buffered reconstructed image stored in the buffer for the reconstructed image, generating a second glare map from the registered image, the second glare map indicating a location of the second portion of the document that includes the second glare, updating the initial reconstructed glare map by performing an "AND" operation between the initial reconstructed glare map and the second glare map to provide an intermediate reconstructed glare map, and generating, from the first image and the registered image, the third image based on the initial reconstruction glare map and the second glare map.