gpt4 book ai didi

python - AdaptiveThreshold 的 OpenCV 错误

转载 作者:太空宇宙 更新时间:2023-11-03 14:17:38 24 4
gpt4 key购买 nike

我正在尝试通过 openCV 捕获视频,然后对视频应用自适应阈值处理(以转换为黑白)。问题是这段代码经常抛出错误。我正在研究自适应阈值函数中的最后两个数字。

cv2.error:/tmp/opencv-UA2sOU/opencv-2.4.9/modules/imgproc/src/thresh.cpp:797: error: (-215) blockSize % 2 == 1 && blockSize > 1 在函数 adaptiveThreshold 中

我似乎无法理解导致此问题的原因。

import numpy as np
import cv2
import pylab as pl

cap = cv2.VideoCapture(0)


# take first frame of the video
ret,frame = cap.read()

while(True):
# Capture frame-by-frame
ret, frame = cap.read()
thresh = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,40,15)

cv2.imshow('frame',thresh)

if cv2.waitKey(1) & 0xFF == ord('q'):
#cv2.imwrite("snap.jpg", thresh)
break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

最佳答案

cv2.adaptiveThreshold需要一个奇数 blockSize。所以您需要使用 39 或 41 而不是 40。

blockSize – Size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, and so on.

这由错误消息指示:它说“blockSize % 2 == 1”,这意味着 blockSize 不能被 2 整除。

关于python - AdaptiveThreshold 的 OpenCV 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31921446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com