gpt4 book ai didi

python - cv2.threshold() 错误 (-210)

转载 作者:太空狗 更新时间:2023-10-29 22:04:51 31 4
gpt4 key购买 nike

我是 Python 新手。

我想借助傅立叶变换定义文本旋转。

import cv2
import numpy as np
import matplotlib.pyplot as plot

img = cv2.imread ('Text_rot.bmp', cv2.CV_LOAD_IMAGE_GRAYSCALE)
afterFourier = np.log (np.abs(np.fft.fft2 (img)))
ret1, th1 = cv2.threshold (afterFourier, 127, 255, cv2.THRESH_BINARY)

但是这段代码失败了:

ret1, th1 = cv2.threshold (afterFourier, 127, 255, cv2.THRESH_BINARY)
error: ..\..\..\src\opencv\modules\imgproc\src\thresh.cpp:783: error: (-210)

为什么会导致“-210”错误?

最佳答案

OpenCV error codes可以在types_c.h中查找.

错误代码 -210 定义为:

CV_StsUnsupportedFormat= -210, /**< the data format/type is not supported by the function*/

因此,在将图像传递给 cv2.threshold 之前,您需要将图像强制转换为 uint8 数据类型。这可以使用 astype 方法通过 numpy 完成:

afterFourier = afterFourier.astype(np.uint8)

这会将 afterFourier 中的所有浮点值截断为 8 位值,因此您可能希望在执行此操作之前对数组进行一些缩放/舍入,具体取决于您的应用程序。

关于python - cv2.threshold() 错误 (-210),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23572241/

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