我正在开发一个原型应用程序,以创建用显微镜扫描的组织图(图像)。为此,我是:
从视频中提取帧的代码很简单,而且很容易解释:
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帧,找到模糊程度较低的帧,然后丢弃其他帧。
欢迎提出其他有关如何更改方法的想法(作为评论),请记住,我正在开发原型,所以我希望避免花太多时间编码解决方案。另外,它不需要实时运行。
问题:
是否存在一种聪明/简单的方法来比较非常相似的图像,以判断哪个图像模糊程度更低(或更多)?
答案 0 :(得分:1)
图像的模糊度可以通过
进行估算const
data = [{ name: 'Rushabh', age: 22 }, { name: 'Bonny', age: 24 }],
result = data.map(({ name }) => name); // get only name
console.log(result);
另请参阅这篇出色的帖子https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/,该帖子来自该建议。