loadsave.cpp:787: error: (-215:Assertion failed) !_img.empty() in function 'cv::imwrite'
时间: 2023-11-27 17:46:20 浏览: 81
这个错误通常是由于尝试将空图像保存到文件中引起的。这可能是由于读取图像时出现问题,或者在处理图像时出现问题。您可以尝试检查图像是否成功加载,或者检查在处理图像之前是否对其进行了正确的初始化。如果您使用的是OpenCV,您可以使用以下代码检查图像是否成功加载:
```python
import cv2
img = cv2.imread('image.jpg')
if img is None:
print('Failed to load image file')
else:
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
如果图像成功加载,则应该能够看到一个窗口显示图像。如果图像未成功加载,则会显示一条消息,指出加载失败。
相关问题
cv2.error: opencv(4.5.4) d:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:799: error: (-215:assertion failed) !_img.empty() in function 'cv::imwrite'
这是一个OpenCV的错误,错误代码为cv2.error。错误信息为“opencv(4.5.4) d:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:799: error: (-215:assertion failed) !_img.empty() in function 'cv::imwrite'”。这个错误通常是由于图像为空导致的,需要检查代码中是否正确加载了图像。
OpenCV(4.7.0) /io/opencv/modules/imgcodecs/src/loadsave.cpp:783: error: (-215:Assertion failed) !_img.empty() in function 'imwrite'
这个错误通常是因为尝试保存一个空图像导致的。请确保在调用`imwrite()`函数之前,图像已经被成功加载并存储在一个非空的`Mat`对象中。如果图像加载失败或者加载后`Mat`对象为空,这个错误就会出现。你可以使用`imread()`函数来加载图像,可以在加载时检查是否成功,并确保图像不为空。
以下是一个示例代码:
```
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("path/to/image.jpg"); // 从文件加载图像
if (img.empty()) // 检查图像是否为空
{
cout << "Could not open or find the image!" << endl;
return -1;
}
// 进行图像处理
bool success = imwrite("path/to/output.jpg", img); // 保存图像
if (!success) // 检查是否保存成功
{
cout << "Failed to save the image!" << endl;
return -1;
}
return 0;
}
```
你可以根据自己的需求进行修改。希望能帮到你!