(-2:Unspecified error) could not find a writer for the specified extension in function 'cv::imwrite_
时间: 2024-05-13 20:19:15 浏览: 276
这个错误通常是由于 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 格式了。如果你需要保存为其他格式,可以将扩展名替换为对应的格式。
D:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:730: error: (-2:Unspecified error) could not find a writer for the specified extension in function 'cv::imwrite_'如何解决
这个错误提示的意思是cv2模块中没有找到特定扩展名的图像写入器,导致无法写入图像。
解决方法是检查你使用的文件扩展名是否正确。比如,如果你想写入一张jpg格式的图片,那么文件名应该以".jpg"结尾。如果文件扩展名不正确,cv2模块就无法找到对应的写入器。
另外,也可能是你的cv2版本太老了,建议升级到最新版本。如果还有问题,可以尝试使用其他图片格式,比如png、bmp等,看看是否能正常写入。
阅读全文