A system for improving feature matching between an intensity image and an ultra-wide angle color image, the system comprising: a three-dimensional scanner that captures a point cloud that comprises a plurality of 3D coordinates corresponding to one or more objects scanned in a surrounding environment; a first camera that captures the intensity image of the surrounding environment corresponding to the point cloud, each pixel in the intensity image representing a luminance of reflected light; an auxiliary camera configured to capture the ultrawide-angle color image of the surrounding environment corresponding to the point cloud, each pixel in the color image representing a color; and one or more processors configured to colorize the point cloud using the color image by mapping the color image to the point cloud using the intensity image, wherein, mapping the color image to the intensity image comprises: detecting a plurality of features from the intensity image using a feature-extraction algorithm; extracting a feature from the plurality of features based on a determination that the feature is not within a predetermined vicinity of an edge in the intensity image; creating a template by selecting a portion of a predetermined size from the intensity image with the feature at the center; creating a search window with the same size as the template by selecting a portion of a luminance image as a search space, wherein the color image is transformed to a spherical image, and the spherical image is transformed into the luminance image; computing a cost value for each pixel of the search space by comparing an image gradient of the template with an image gradient of the search window; and determining a matching point in the color image corresponding to the feature based on the cost value for each pixel of search space. a three-dimensional scanner that captures a point cloud that comprises a plurality of 3D coordinates corresponding to one or more objects scanned in a surrounding environment; a first camera that captures the intensity image of the surrounding environment corresponding to the point cloud, each pixel in the intensity image representing a luminance of reflected light; an auxiliary camera configured to capture the ultrawide-angle color image of the surrounding environment corresponding to the point cloud, each pixel in the color image representing a color; and one or more processors configured to colorize the point cloud using the color image by mapping the color image to the point cloud using the intensity image, wherein, mapping the color image to the intensity image comprises: detecting a plurality of features from the intensity image using a feature-extraction algorithm; extracting a feature from the plurality of features based on a determination that the feature is not within a predetermined vicinity of an edge in the intensity image; creating a template by selecting a portion of a predetermined size from the intensity image with the feature at the center; creating a search window with the same size as the template by selecting a portion of a luminance image as a search space, wherein the color image is transformed to a spherical image, and the spherical image is transformed into the luminance image; computing a cost value for each pixel of the search space by comparing an image gradient of the template with an image gradient of the search window; and determining a matching point in the color image corresponding to the feature based on the cost value for each pixel of search space. detecting a plurality of features from the intensity image using a feature-extraction algorithm; extracting a feature from the plurality of features based on a determination that the feature is not within a predetermined vicinity of an edge in the intensity image; creating a template by selecting a portion of a predetermined size from the intensity image with the feature at the center; creating a search window with the same size as the template by selecting a portion of a luminance image as a search space, wherein the color image is transformed to a spherical image, and the spherical image is transformed into the luminance image; computing a cost value for each pixel of the search space by comparing an image gradient of the template with an image gradient of the search window; and determining a matching point in the color image corresponding to the feature based on the cost value for each pixel of search space.