How can you distribute the color intensity of two images using your gradients?

I am working on an automatic image stitching algorithm using MATLAB. So far, I have downloaded source code similar to the one I had in mind, and therefore I am now studying how the code works.

The problem is that when stitching two or more images together, their color intensity is likely to be different from each other, so that the seam seams will be visible to the eye ... So, right now, I'm trying to find how to redistribute their color intensity using image gradients, so that the entire cross-linked image will have the same color intensity.

I hope someone can help me, and if so, thank you very much ...

+3
source share
1 answer

If the images overlap by a significant amount, and the stitching algorithm does a very good job of registering the overlap region, a very simple solution would be to mix the pixel values โ€‹โ€‹of the two images together in the overlap region using a weighted average with weights ranging from 0-1 depending on the distance from the edge of the overlap area.

  blendedPixel = (imageApixel * weightA) + (imageBpixel * weightB)

where weightA approaches 1 when we approach the image side A of the overlap area, weightB approaches 1 when we approach the image side B of the overlap area, and the sum of the weight A and weightB is always 1.

The above solution is not particularly important and depends on the line algorithm, which does a very good job of registering images in the overlap area.

, , .

, .

, , , , , "", , , .

, , , , , , , , .

- , . , - .

, .

, , .

, .

, , , โ€‹โ€‹ . . "" , .

, , , .

, , , . , . D Goldman, " ", IEEE Trans Pattern Analysis Machine Intelligence, 32, โ„– 12, . 2276-2288

+3

Source: https://habr.com/ru/post/1783639/


All Articles