A method for flash collision detection and compensation, the method comprising: receiving a plurality of preview frames depicting an image scene, each of the plurality of preview frames including a plurality of pixels arranged in a plurality of rows; for each preview frame generating a flash collision detected indication by a flash collision detection process comprising: for a first row of the plurality of rows in a current frame of the plurality of preview frames, calculating a first row sum value by summing a value of each of the plurality of pixels in the first row; for a second row of the plurality of rows in a previous frame of the plurality of preview frames, calculating a second row sum value by summing a value of each of the plurality of pixels in the second row, the first row and the second row depicting a substantially similar portion of the image scene; calculating a row sum difference based on subtracting one of the first row sum value and the second row sum value from the other of the first row sum value and the second row sum value; outputting one of a flash collision detected indication or a flash collision not detected indication based on the row sum difference; characterized in that in response to the flash collision detected indication, generating instructions to continue capture, by an image sensor, of at least one additional preview frame depicting the image scene and to repeating the flash collision detection process; and in response to the flash collision not detected indication, generating instructions to capture, by the image sensor, a final image of the image scene, wherein each of the plurality of preview frames including the at least one additional preview frame has a lower-resolution than the final image. receiving a plurality of preview frames depicting an image scene, each of the plurality of preview frames including a plurality of pixels arranged in a plurality of rows; for each preview frame generating a flash collision detected indication by a flash collision detection process comprising: for a first row of the plurality of rows in a current frame of the plurality of preview frames, calculating a first row sum value by summing a value of each of the plurality of pixels in the first row; for a second row of the plurality of rows in a previous frame of the plurality of preview frames, calculating a second row sum value by summing a value of each of the plurality of pixels in the second row, the first row and the second row depicting a substantially similar portion of the image scene; calculating a row sum difference based on subtracting one of the first row sum value and the second row sum value from the other of the first row sum value and the second row sum value; outputting one of a flash collision detected indication or a flash collision not detected indication based on the row sum difference; characterized in that in response to the flash collision detected indication, generating instructions to continue capture, by an image sensor, of at least one additional preview frame depicting the image scene and to repeating the flash collision detection process; and for a first row of the plurality of rows in a current frame of the plurality of preview frames, calculating a first row sum value by summing a value of each of the plurality of pixels in the first row; for a second row of the plurality of rows in a previous frame of the plurality of preview frames, calculating a second row sum value by summing a value of each of the plurality of pixels in the second row, the first row and the second row depicting a substantially similar portion of the image scene; calculating a row sum difference based on subtracting one of the first row sum value and the second row sum value from the other of the first row sum value and the second row sum value; outputting one of a flash collision detected indication or a flash collision not detected indication based on the row sum difference; characterized in that in response to the flash collision detected indication, generating instructions to continue capture, by an image sensor, of at least one additional preview frame depicting the image scene and to repeating the flash collision detection process; and in response to the flash collision not detected indication, generating instructions to capture, by the image sensor, a final image of the image scene, wherein each of the plurality of preview frames including the at least one additional preview frame has a lower-resolution than the final image.