(-2:Unspecified error) could not find a writer for the specified extension in function 'cv::imwrite_
时间: 2024-05-13 14:19:15 浏览: 296
这个错误通常是由于 OpenCV 库中的 imwrite 函数无法识别输入的文件扩展名所致。请确保您输入的文件扩展名是支持的,并且您已正确加载了所需的库。
如果您使用的是 OpenCV 2.x 版本,您可以使用以下代码将图像保存为JPEG格式:
```
cv::Mat image = cv::imread("example.jpg", CV_LOAD_IMAGE_COLOR);
cv::imwrite("example.jpg", image, std::vector<int>({CV_IMWRITE_JPEG_QUALITY, 100}));
```
如果您使用的是 OpenCV 3.x 或更高版本,请使用以下代码:
```
cv::Mat image = cv::imread("example.jpg", cv::IMREAD_COLOR);
cv::imwrite("example.jpg", image, std::vector<int>({cv::IMWRITE_JPEG_QUALITY, 100}));
```
请注意,上述代码使用了 JPEG 格式的文件扩展名。如果您想将图像保存为其他格式,请使用相应的文件扩展名。
相关问题
Traceback (most recent call last): File "D:\opencv车牌识别\main.py", line 52, in <module> cv2.imwrite(r"C:\Users\10648\Desktop\777", im_out) cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:692: error: (-2:Unspecified error) could not find a writer for the specified extension in function 'cv::imwrite_'
这个错误是因为 `cv2.imwrite` 函数无法识别指定的文件扩展名,无法保存图像。你需要在文件路径中指定正确的文件扩展名,比如:
```
cv2.imwrite(r"C:\Users\10648\Desktop\777.jpg", im_out)
```
这样就可以将图像保存为 JPEG 格式了。如果你需要保存为其他格式,可以将扩展名替换为对应的格式。
error: (-2:Unspecified error) could not find a writer for the specified extension in function 'cv::imwrite_'
这个错误通常是由于 OpenCV 的 imwrite 函数无法识别指定的文件扩展名而导致的。你需要检查你的代码,确保你正在使用 OpenCV 支持的文件格式,并且文件扩展名与文件格式匹配。你可以使用以下代码检查支持的文件格式:
```
#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
using namespace cv;
using namespace std;
int main()
{
vector<String> file_exts;
Mat img;
file_exts = imgcodecs::getListOfCompressions();
for (int i = 0; i < file_exts.size(); i++)
{
cout << file_exts[i] << endl;
}
return 0;
}
```
这段代码将打印出 OpenCV 支持的所有文件格式的扩展名。请确保你的文件扩展名与这些扩展名之一匹配。如果你使用的是不受支持的文件格式,请转换为支持的格式。
阅读全文