已知:输入图片都是640*480分辨率,出现了“OpenCV(4.6.0) Error: Assertion failed (!fixedSize() || ((Mat*)obj)->size.operator()() == Size(_cols, _rows)) in cv::debug_build_guard::_OutputArray::create, file c:\build\master_winpack-build-win64-vc15\opencv\modules\core\src\matrix_wrap.cpp, line 1219”报错
时间: 2023-11-27 11:50:55 浏览: 151
这个错误通常是因为你的代码中使用了固定大小的矩阵,而你的输入图片不符合该大小。你可以尝试使用`cv::resize`函数将输入图片的大小调整为你需要的大小,以解决这个问题。具体来说,你可以使用以下代码:
```
cv::Mat input_image = cv::imread("your_image_path");
cv::Mat resized_image;
cv::resize(input_image, resized_image, cv::Size(固定宽度, 固定高度));
```
其中,`固定宽度`和`固定高度`分别为你需要的矩阵的宽度和高度。然后,你可以将`resized_image`作为输入传递给你的函数。
相关问题
OpenCV: terminate handler is called! The last OpenCV error is: OpenCV(4.6.0) Error: Assertion failed (!_src.empty()) in cvtColor, file E:\OpenCv-4.6.0\opencv\sources\modules\imgproc\src\color.cpp, line 182
这个错误通常是因为你的输入图像为空。你需要检查你的代码,确保输入图像已经被正确加载并且不为空。你可以使用以下代码来检查输入图像是否为空:
```
if (_src.empty()) {
// handle empty input image
}
```
如果你的输入图像确实为空,你需要检查代码中加载图像的部分并修复它。如果你仍然无法解决问题,请提供更多代码和上下文信息,以便我可以更好地帮助你。
OpenCV(4.8.0) Error: Assertion failed (!_src.empty()) in cvtColor
这个错误通常是由于输入图像为空或无法读取导致的。解决此问题的方法取决于你的代码和输入图像的来源。以下是一些可能有用的解决方案:
1.检查输入图像的路径是否正确,以确保它可以被正确读取。
2.检查输入图像是否为空。你可以使用以下代码检查图像是否为空:
```python
if img is None:
print("Image not found or cannot be read")
```
3.检查你的代码是否正确加载了OpenCV库。你可以使用以下代码检查OpenCV版本:
```python
import cv2
print(cv2.__version__)
```
4.检查你的代码是否正确加载了Cascade分类器。你可以使用以下代码检查Cascade分类器是否为空:
```python
if face_cascade.empty():
print("Error loading cascade classifier")
```
5.检查你的代码是否正确加载了输入图像。你可以使用以下代码检查输入图像是否为空:
```python
if img.empty():
print("Error loading image")
```
阅读全文