A system comprising: a first image sensor configured to capture a first image; a second image sensor configured to capture a second image; and a processing apparatus that is configured to: receive the first image from the first image sensor; receive the second image from the second image sensor; stitch the first image and the second image to obtain a stitched image; identify an image portion of the stitched image that is positioned on a stitching boundary of the stitched image; input the image portion to a machine learning module to obtain a score indicative of a quality of the stitching in the image portion, wherein the machine learning module has been trained using training data that included image portions labeled to reflect an absence of stitching and image portions labeled to reflect a presence of stitching, wherein the image portions labeled to reflect a presence of stitching included stitching boundaries of stitched images; select a parameter of a stitching algorithm based at least in part on the score; stitch, using the parameter, the first image and the second image to obtain a composite image; and store, display, or transmit an output image based on the composite image. a first image sensor configured to capture a first image; a second image sensor configured to capture a second image; and a processing apparatus that is configured to: receive the first image from the first image sensor; receive the second image from the second image sensor; stitch the first image and the second image to obtain a stitched image; identify an image portion of the stitched image that is positioned on a stitching boundary of the stitched image; input the image portion to a machine learning module to obtain a score indicative of a quality of the stitching in the image portion, wherein the machine learning module has been trained using training data that included image portions labeled to reflect an absence of stitching and image portions labeled to reflect a presence of stitching, wherein the image portions labeled to reflect a presence of stitching included stitching boundaries of stitched images; select a parameter of a stitching algorithm based at least in part on the score; stitch, using the parameter, the first image and the second image to obtain a composite image; and store, display, or transmit an output image based on the composite image. receive the first image from the first image sensor; receive the second image from the second image sensor; stitch the first image and the second image to obtain a stitched image; identify an image portion of the stitched image that is positioned on a stitching boundary of the stitched image; input the image portion to a machine learning module to obtain a score indicative of a quality of the stitching in the image portion, wherein the machine learning module has been trained using training data that included image portions labeled to reflect an absence of stitching and image portions labeled to reflect a presence of stitching, wherein the image portions labeled to reflect a presence of stitching included stitching boundaries of stitched images; select a parameter of a stitching algorithm based at least in part on the score; stitch, using the parameter, the first image and the second image to obtain a composite image; and store, display, or transmit an output image based on the composite image.