【问题标题】:"ValueError: not enough values to unpack" when calling cv2.findContours() [duplicate]调用 cv2.findContours() 时出现“ValueError:没有足够的值来解压”[重复]
【发布时间】:2019-06-25 12:35:25
【问题描述】:

当我运行它时,我从互联网上得到了这个脚本,我遇到了一些关于这行的错误,谁能帮忙? 我不知道我在互联网上搜索了一天以得到类似错误的确切错误在哪里。

import cv2
import numpy as np
def main():
   #window_name="Cam feed"
   #cv2.namedWindow(window_name)
   cap=cv2.VideoCapture("C:\\Users\\ccie\\Desktop\\768x576.avi")

   #filename = 'F:\sample.avi'
   #codec=cv2.VideoWriter_fourcc('X','V','I','D')
   #framerate=30
   #resolution = (500,500)

 #  VideoFileOutput = cv2.VideoWriter(filename,codec,framerate,resolution)


   if cap.isOpened():

      ret,frame = cap.read()

   else:
      ret =False

   ret,frame1 = cap.read()
   ret,frame2 = cap.read()

   while ret:
      ret,frame = cap.read()
      #VideoFileOutput.write(frame)

      d=cv2.absdiff(frame1,frame2)

      grey=cv2.cvtColor(d,cv2.COLOR_BGR2GRAY)

      blur =cv2.GaussianBlur(grey,(5,5),0)
      ret,th=cv2.threshold(blur,20,255,cv2.THRESH_BINARY)
      dilated=cv2.dilate(th,np.ones((3,3),np.uint8),iterations=3)
      img,c,h=cv2.findContours(dilated,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

最后我得到了这个错误

PS C:\python3.6> .\python.exe .\Contours_Opencv.py
Traceback (most recent call last):
  File ".\Contours_Opencv.py", line 51, in <module>
    main()
  File ".\Contours_Opencv.py", line 37, in main
    img,c,h=cv2.findContours(dilated,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
ValueError: not enough values to unpack (expected 3, got 2)
PS C:\python3.6>

【问题讨论】:

    标签: python-3.x opencv opencv3.1


    【解决方案1】:

    该错误是由于 openCV 的不同版本,findContours 返回 3 个值,而您的版本返回 2 个值。

    更改
    img,c,h=cv2.findContours(dilated,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)


    c,h=cv2.findContours(dilated,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

    它应该可以工作。

    为了完整性(因为您标记了 openCV3.1):直到 openCV 3.1 版 findContours 返回 2 个值,3.2 到 3.6 版返回 3 个值,从 4.0 版开始它再次返回 2 个值。

    【讨论】:

    • 哦,谢谢,它的工作:D
    猜你喜欢
    • 2019-06-13
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多