【问题标题】:Getting the error TypeError: Expected Ptr<cv::UMat> for argument 'src' while processing images处理图像时出现错误 TypeError: Expected Ptr<cv::UMat> for argument 'src'
【发布时间】:2021-05-29 14:07:38
【问题描述】:
我在这段代码中遇到错误
def pre_processing(img):
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img = cv2.equalizeHist(img)
img = img / 255
return img
while True:
success, img_original = cap.read()
img = np.asarray(img_original)
img = cv2.resize(img, (32, 32))
img = pre_processing(img)
cv2.imshow("Processsed Image", img)
img = img.reshape(1, 32, 32, 1)
我收到此错误:
Traceback(最近一次调用最后一次):
文件“C:/Users/PycharmProjects/test.py”,第 27 行,在
img = cv2.resize(img,(32,32))
TypeError: Expected Ptr<:umat> for argument 'src'
【问题讨论】:
标签:
python
tensorflow
opencv
pycharm
ocr
【解决方案1】:
我不知道这个编码有什么问题
代码:
import cv2
def pre_processing(img_):
img_ = cv2.cvtColor(img_, cv2.COLOR_BGR2GRAY)
img_ = cv2.equalizeHist(img_)
# img_ = img_ / 255
return img_
if __name__ == '__main__':
# Initialize VideoCature object for Webcam
cap = cv2.VideoCapture(0)
# While webcam opens
while cap.isOpened():
# Get the current frame
success, imgOriginal = cap.read()
# If the current frame returns successfully
if success:
# Copy the original-image
img = imgOriginal.copy()
# Resize for 32 x 32
img = cv2.resize(img, (32, 32))
# Convert to gray-scale and apply histogram equalization
img = pre_processing(img)
# Display the frame
cv2.imshow("Processsed Image", img)
key = cv2.waitKey(1) & 0xFF
# If `q` is pressed then exit
if key == ord("q"):
break
# Reshape
img = img.reshape(1, 32, 32, 1)