Opencv 有一个专门的 superres 模块,稍微浏览了一下,用的是光流做的。只能用 cpp 调用,无法 python。这个模板不再总结,因为主流做法都是用 AI 了,传统的超分又速度慢又效果差。
AI 的方法,那就不推荐用 Opencv 的接口,虽然 Opencv 有一些方法的接口,但都很老了...
'''
DNN Super_Resoultion
'''
model = cv2.dnn_superres.DnnSuperResImpl().create()
model.setModel(algo='edsr', scale=4)
# Model file: https://github.com/Saafke/EDSR_Tensorflow/blob/master/models/EDSR_x4.pb
model.readModel('./data/EDSR_x4.pb')
print(model.getScale(), model.getAlgorithm())
result = model.upsample(src)
show_images([
('src', src),
('out', result)
], colnum=1)