1. A computer-implemented method, comprising: generating a new row of pixels between an existing upper row of pixels and an existing lower row of pixels within an image, including: segmenting the upper and lower row of pixels into one or more segments of pixels, the segmenting comprising identifying pixels of a similar color within the upper and lower row of pixels, each segment including at least a minimum number of pixels from both the upper and lower row of pixels that have a color similarity above a threshold similarity; determining whether each of the pixels of the new row is to be included as part of the one or more segments; responsive to the determining and for each pixel of the new row that is determined to be part of one of the one or more segments, generating a pixel value for the pixel that is determined to be part of the segment according to a segment interpolation method that uses color values of at least two of the pixels within the segment of pixels; and subsequent to generating the pixel value for the pixels of the new row that are determined to be part of the one of more segments: for a pixel of the new row that is determined not to be part of the one or more segments, determining an edge within the image at which the pixel of the new row that is determined not to be part of the one or more segments is positioned; and generating a pixel value for the pixel that is determined not to be part of the one or more segments according to an edge interpolation method that uses color values of at least two or more pixels of the upper and lower rows that are positioned at the determined edge.