cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-ykpa0m5d\opencv\modules\core\src\arithm.cpp:669: error: (-209:Sizes of input arguments do not match) The operation is neither 'array op array' (where arrays have the same size and the same number of channels), nor 'array op scalar', nor 'scalar op array' in function 'cv::arithm_op'
时间: 2023-08-28 21:21:27 浏览: 418
这个错误通常是由于输入的两个数组大小或通道数不匹配,而导致的。请检查你的代码,确保输入的两个数组的大小和通道数相同。如果你使用的是OpenCV中的算术运算函数(如cv2.add()、cv2.subtract()等),请确保输入的两个数组大小相同。如果你使用的是数组和标量之间的算术运算,确保标量的通道数与数组的通道数相同。如果你仍然遇到困难,请提供更多的代码和错误信息,以便更好地帮助你解决问题。
相关问题
Traceback (most recent call last): File "F:/叶丽珠/《数据采集技术》/课堂案例/2-6.py", line 13, in <module> faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5) cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-k8sx3e60\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
这个错误是由于OpenCV中的CascadeClassifier对象没有加载正确的训练数据集,导致无法检测出人脸。建议检查以下几个方面:
1. 检查CascadeClassifier对象是否正确初始化,并且已经加载了正确的训练数据集。
2. 检查训练数据集的路径是否正确,可以使用绝对路径或相对路径。
3. 确保训练数据集文件存在,并且文件格式正确。
希望这些建议能够帮助你解决问题。
card_img_hsv = cv2.cvtColor(card_img, cv2.COLOR_BGR2HSV) cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-qjdp5db9\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
这个错误通常是由于输入的图像为空导致的。请检查一下您的代码,确保card_img是一个有效的图像。您可以使用以下代码检查图像是否为空:
```python
if card_img is None:
print("Error: image not found")
exit()
```
如果输出为"Error: image not found",则说明card_img为空。在这种情况下,您需要检查一下读取图像的代码是否正确,或者是否存在图像文件。如果card_img不为空,则可能是OpenCV库的版本问题。
如果您使用的是OpenCV的旧版本,可能会出现这个问题。您可以尝试更新OpenCV库到最新版本,或者使用BGR2HSV而不是COLOR_BGR2HSV。例如:
```python
card_img_hsv = cv2.cvtColor(card_img, cv2.COLOR_BGR2HSV)
```
改为:
```python
card_img_hsv = cv2.cvtColor(card_img, cv2.BGR2HSV)
```
如果问题仍然存在,请提供更多的代码和错误信息,以便更好地帮助您解决问题。
阅读全文