我之前在做wasserstein distance时运行的一段代码,如下:
复制代码
1
2
3
4
5
6
7import cv2 as cv p = [0,5,9] p = [2,5,7] pp=cv.fromarray(p) qq=cv.fromarray(q) emd=cv.CalcEMD2(pp,qq,cv.CV_DIST_L2)
运行的时候先是提示:“No model named cv2”
于是我就在网上寻找资料,我使用的是Windows + pycharm + anaconda3,有大佬说是需要安装 opencv-contrib-python和opencv-python,于是我在pycharm中安装后还是运行不出来,我又在Windows命令窗口pip install opencv-contrib-python和pip install opencv-python 进行安装,再进入pycharm进行环境的修改就成了。但是在运行的时候又老是提示:“model cv2.cv2 has no attribute ‘fromarray’ ”。而且cv中的其他属性也是运行不不来,例如:cv.imshow() cv.imread()
直到我看一位大佬那里看到了这个:EMD距离Python实现(wasserstein distance,又称为EMD 距离)
于是我换了一种思路,试着运行了一下代码:
复制代码
1
2
3
4
5
6
7import numpy as np from scipy.stats import wasserstein_distance p = [0,5,9] q = [2,5,7] w = wasserstein_distance(q,p) print(w)
结果完美出来了:
复制代码
1
2
31.3333333333333335 Process finished with exit code 0
最后
以上就是大力萝莉最近收集整理的关于关于使用OpenCV求解wasserstein distance的一些问题及解决方法的全部内容,更多相关关于使用OpenCV求解wasserstein内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复