1、读取动态图,发现这是一幅15帧的动态图。pics = Import["D:\\我的图片\\0.gif"]
2、把这些图片相加,效果如下。Total[pics/Length[pics]]
3、取平均,可以防止白耀化:Total[pics/15]这基本上就可以认为是图像的背景了。
4、直接进行图像配准,也是可以的。Total[pics] // ImageAdjust
5、上面其实不严格。因为图闻赙酵枭像之所以看不到前景,是因为前景的影响变为原来的十五分之一,但是前景还是存在的。比如,隔2张图片,选取一张,前景的虚影就显示出来了:Total[pics[[#]] &稆糨孝汶; /@ {2, 5, 8, 11, 15}] // ImageAdjust
6、有一种方法似乎可以实现分离背景,那就是统计同一像素上,在不同时间的像素值。出现次数多的那个像素值,就是背景像素值。datas = ImageData[#] & /@ pics;pic = ImageData[pics[[1]]];Table[pic[[i, j]] = MaximalBy[{Count[#[[i, j]] & /@ datas, #], #} & /@ Union[#[[i, j]] & /@ datas], First][[1, 2]], {i, 277}, {j, 500}];pic[[;; , ;; , ;; 3]] // Image