[英]Add diff of images into one image (Linux/Python)
我正在尋找一種僅將圖像差異融合到一個圖像中的方法。 我正在尋找 linux 命令或使用 python 實現此目的的方法。
示例:源圖像:
結果應該是:
謝謝!!
文斯
從僅包含背景的圖像開始並將每一幀與其進行比較是有意義的。 背景可以計算為整個序列的中值。 如果我們假設背景中值圖像是 a0.jpg 並且接下來的三個帶 3 個點的幀將是 a1.jpg、a2.jpg 和 a3.jpg,那么可以使用 scikit-image 的 compare_images function 將它們合並在一起並修改僅在遇到變化的那些像素處的值。 請注意,由於壓縮,容差閾值 ( th ) 設置為 0.1。 您可以使用該值 (0,1) 來獲得或多或少的靈敏度。 以下腳本應該是這樣的:
import skimage.io as io
from skimage.util import compare_images
import numpy as np
im0 = io.imread('a0.jpg') # median of source images
im1 = io.imread('a1.jpg') # source image 1
im2 = io.imread('a2.jpg') # source image 2
im3 = io.imread('a3.jpg') # source image 3
im_all = np.copy(im0)
th = 0.1
# d = np.max(np.abs(im2 - im0), -1)
d = compare_images(im1, im0, method='diff')
d= np.max(np.abs(d), -1)
im_all[d>th] = im1[d>th]
io.imsave("d1.jpg", d>th)
d = compare_images(im2, im0, method='diff')
d= np.max(np.abs(d), -1)
im_all[d>th] = im2[d>th]
io.imsave("d2.jpg", d>th)
d = compare_images(im3, im0, method='diff')
d= np.max(np.abs(d), -1)
im_all[d>th] = im3[d>th]
io.imsave("d3.jpg", d>th)
io.imsave("im_all.jpg", im_all)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.