【问题标题】:color match in images图像中的颜色匹配
【发布时间】:2019-11-17 00:31:21
【问题描述】:

我有两张图像(切片)由两个相机传感器拍摄以完成一张图像。但是,由于传感器性能的一些差异,它们的颜色/色调是不同的,我需要将它们匹配以制作一个统一的图像。

我使用斐济中包含的HistogramMatcher 函数(图 J)解释了here 来匹配第二张图像的颜色作为第一张。它给出了可接受的结果,但仍需要进一步处理。

所以我的问题是,拥有统一图像的最佳方法是什么。 我应该从亮度开始,色调然后饱和度?除了 'HistogramMatcher' 功能之外,还有其他颜色可以匹配吗?

以下是图片示例

【问题讨论】:

    标签: image image-processing colors imagej


    【解决方案1】:

    我如下将你的图片一分为二,然后使用scikit-image的直方图匹配功能:

    #!/usr/bin/env python3
    
    import numpy as np
    from skimage.io import imread, imsave
    from skimage import exposure
    from skimage.transform import match_histograms
    
    # Load left and right images
    L = imread('rocksA.png')
    R = imread('rocksB.png')
    
    # Match using the right side as reference
    matched = match_histograms(L, R, multichannel=True)
    
    # Place side-by-side and save
    result = np.hstack((matched,R))
    imsave('result.png',result)
    

    这给出了这个结果:

    关键字:Python、图像、图像处理、颜色匹配、颜色匹配、直方图匹配、直方图匹配、scikit-image、skimage。

    【讨论】:

      【解决方案2】:

      为了比较,我有两个 Imagemagick bash shell 脚本,它们将颜色从一个图像传输到另一个图像。 (见http://www.fmwconcepts.com/imagemagick/index.php)。一种进行颜色直方图匹配,另一种通过匹配均值和标准差(即亮度和对比度)进行颜色调整。

      我将使用 Mark Setchell 的分离图像。

      输入

      直方图匹配:

      histmatch -c rgb right.png left.png newleft_histmatch.png
      
      convert newleft_histmatch.png right.png +append result_histmatch.png
      


      均值/标准匹配:

      matchimage -c rgb left.png right.png newleft_matchimage.png
      
      convert newleft_matchimage.png right.png +append result_matchimage.png
      


      有关使用均值和标准差进行颜色传输的 Python/OpenCV 解决方案,请参阅https://www.pyimagesearch.com/2014/06/30/super-fast-color-transfer-images/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-13
        • 2017-09-11
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 1970-01-01
        相关资源
        最近更新 更多