起因
夏天时课题组一个小哥推荐了kornia这个库,传说是把一些典型的cv操作基于PyTorch设计成了differentiable的实现,辅助进行深度学习模型的训练。但是一直也没有仔细看过或者用过这个库,最近一个模型中需要用到一些常见的filter操作,于是想到了这个库,尝试了一下,把所见所感写在这里作为记录。
经过
当前kornia的版本是0.4.0. kornia 也在不断更新中。其实PyTorch更新也挺勤的。。。
常规import
若没有另外描述,那么如下import是默认存在的
import cv2
import matplotlib.pyplot as plt
import numpy as np
import torch
import kornia
def show_image(img, name='NoName', flagBGR=True):
if ( flagBGR ):
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
fig = plt.figure(num=name)
ax = fig.add_subplot(111)
ax.imshow(img)
ax.axis('off')
ax.set_title(name)
def show_images(imgs, name='NoName', cols=2):
'''
imgs (list of dicts): {"img": img, "title": title, "bgr": True}
'''
N = len( imgs )
assert ( N > 0 )
if ( 1 == N ):
d = imgs[0]
show_image( d['img'], d['title'], d['bgr'] )
return
rows = ( N - 1 ) // cols + 1
fig = plt.figure(num=name)
fig.tight_layout()
for i in range(N):
img