我是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可以在^{} 中查找。
错误代码-210定义为:
因此,在将图像传递给
cv2.threshold
之前,需要将其强制为uint8
数据类型。这可以通过numpy使用astype
方法来实现:这将把
afterFourier
中的所有浮点值截断为8位值,因此您可能需要在执行此操作之前对数组进行一些缩放/舍入操作,具体取决于您的应用程序。相关问题 更多 >
编程相关推荐