图像处理
NuerNuer
这个作者很懒,什么都没留下…
展开
-
einops包中的rearrange,reduce, repeat及einops.layers.torch中的Rearrange,Reduce。对高维数据的处理方式
from einops import rearrange, reduce, repeatfrom einops.layers.torch import Rearrange, Reduce一.rearrange和Rearrange,作用:从函数名称也可以看出是对张量尺度进行重排,区别:1.einops.layers.torch中的Rearrange,用于搭建网络结构时对张量进行“隐式”的处理例如:class PatchEmbedding(nn.Module): def __in.原创 2021-11-21 17:06:51 · 8049 阅读 · 3 评论 -
OpenCV报错Expected Ptr<cv::UMat> for argument ‘%s‘
在使用opencv处理图像时,使用cv2.imwrite()保存图像时总是报错:Expected Ptr<cv::UMat> for argument '%s'查阅资料发现,在cv::UMat在传参时,类型须为np.float32,传入其他类型(例,np.int32)会报错解决办法:img_ = np.float32(img)......cv2.imwrite('a.jpg', img_)即,将其他类型的的数据通过函数转换为np.float32...原创 2021-09-03 22:26:02 · 4211 阅读 · 1 评论 -
sift+图像匹配 算法
sift算法的原理我们不在这里做过多赘述,有想了解的可以去看我的另一篇博客,这里我们直接分析源码,在源码部分会做出注释。1.sift + BFMatxh匹配算法def sift_image_match(i,img1, img2, img1_, img2_): # sift sift = cv2.xfeatures2d.SIFT_create() # 创建一个sift对象 keypoints_1, descriptors_1 = sift.detectAndCompute(.原创 2021-08-04 22:21:25 · 1122 阅读 · 0 评论