Python TypeError:structural_similarity()接受2个位置参数,但给出了8个
在python和opencv中计算两个灰度图像之间的相似性时,名为Python TypeError:structural_similarity()接受2个位置参数,但给出了8个,python,python-3.x,opencv,Python,Python 3.x,Opencv,在python和opencv中计算两个灰度图像之间的相似性时,名为compare_ssim()的函数报告错误 gray1=cv2.cvt颜色(frame1,cv2.COLOR\u bgr2灰色) gray2=cv2.CVT颜色(frame2,cv2.COLOR_BGR2GRAY) (分数,差异)=比较(灰度1,灰度2,满=真) 错误消息如下所示: TypeError:structural_similarity()接受2个位置参数,但给出了8个 这是库中的一个函数。从\u structural\
compare_ssim()
的函数报告错误
gray1=cv2.cvt颜色(frame1,cv2.COLOR\u bgr2灰色)
gray2=cv2.CVT颜色(frame2,cv2.COLOR_BGR2GRAY)
(分数,差异)=比较(灰度1,灰度2,满=真)
错误消息如下所示:
TypeError:structural_similarity()接受2个位置参数,但给出了8个
这是库中的一个函数。从\u structural\u similarity.py
文件。目录为\skimage\measure\\u structural\u similarity.py
def compare_ssim(X,Y,win_size=None,gradient=False,
数据范围=无,多通道=假,高斯权重=假,
满=假,**kwargs):
警告('已弃用:skimage.measure.compare_ssim已移动到'
'skimage.metrics.structural_similarity.将从中删除'
“0.18版中的skimage.measure”,stacklevel=2)
返回结构相似性(X、Y、win_大小、渐变、,
数据范围、多通道、高斯权重、,
满载,**千克)
返回
行,此行显示错误消息
和structural\u similarity()
。此函数的目录为\skimage\metrics\\u structural\u similarity.py
,函数如下:
def结构相似性(im1、im2、,
*,
win_size=None,gradient=False,data_range=None,
多通道=假,高斯加权=假,
满=假,**kwargs):
问题是什么,为什么会这样
from skimage.metrics import structural_similarity
请尝试…我尝试使用以下方法:
from skimage.metrics import structural_similarity as ssim
...
s = ssim(gray_image_1,gray_image_2)
这里,gray_image_1.shape=gray_image_2.shape=(420420)。
这对我很有用(python 3.6.6)
`谢谢您的耐心等待。我已经解决了这个问题。
这应该是函数调用错误。当我将头文件“from skimage.measures import compare_ssim”替换为from skimage.metrics import structural_similarity,并将函数调用替换为
(score,diff)=structural_similarity(gray1,gray2,full=True)
,编译成功,欢迎来到堆栈溢出。请将您的问题提供给您得到的异常的完整回溯,而不仅仅是最后的消息。它提到了一个你没有直接调用的函数,所以不明显哪里出了问题。我还为您的问题添加了一些标签,因此在编辑时,请仔细检查是否正确(并添加任何不合适的标签)。compare\u ssim
是您编写的函数吗?如果是的话,也包括它的代码!如果它来自一个库,请说明它来自哪里。我在opencv库中没有看到结构相似性
函数。你知道这个函数是从哪里来的吗?你提到了一个结构相似性文件,那是从哪里来的?此外,是否在某个地方有结构相似性函数的定义(即def structural\u similarity(..):
?而不是这个“compare\u ssim”