我正在开发一个原型应用程序来创建一个用显微镜扫描的组织的地图(图像)。为此,我将:
从视频中提取帧的代码很简单,并且可以自我解释:
import cv2
vidcap = cv2.VideoCapture('.\images\microscope2.avi')
success,image = vidcap.read()
count = 0
success = True
while success:
success,image = vidcap.read()
if (count / 20) * 20 == count:
cv2.imwrite("./images/microscope/frame%d.jpg" % (count/20), image)
if cv2.waitKey(10) == 27:
break
count += 1您可以注意到,我只是每20帧提取一帧。我目前的问题是,一些帧是模糊的,所以拼接算法无法检测到特征,以便对齐和重叠图像。
一种解决方案是,每20帧连续3帧,找出不那么模糊的帧,然后丢弃其他帧。
关于如何改变我的方法的其他想法是值得欢迎的(作为一个评论),请记住我正在开发一个原型,所以我想避免花费太多的时间来编写解决方案。而且,它不需要实时运行。
问题:
是否有一种智能/简单的方法来比较非常相似的图像,以判断哪一幅较少(或更多)模糊?
发布于 2019-03-07 12:27:02
图像的模糊度可以用
cv2.Laplacian(image, cv2.CV_64F).var()还请参阅这篇优秀的文章https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/,其中提出了这一建议。
https://stackoverflow.com/questions/55043335
复制相似问题