在函数 'cv::imwrite_' 中找不到指定扩展的编写器

could not find a writer for the specified extension in function 'cv::imwrite_'

我在定义在图像中添加边框的函数时遇到错误

import cv2

def im_border(path: str, output: str = "output.png"):
              im1 = cv2.imread(path)
              border = cv2.copyMakeBorder(
                            im1, 20, 20, 20, 20, cv2.BORDER_CONSTANT, value = [128, 128, 128])
              cv2.imwrite(output, border)

              return None 
              
im_border(r'C:\Users\manoj\OneDrive\Desktopa4c4b2b47cdcbb6d359140081f63478.jpg',r'C:\Users\manoj\OneDrive\Desktop')

为什么会报错 报错如下-

cv2.error: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:730: error: (-2:Unspecified error) 在函数 'cv::imwrite_'

您正在用没有有效文件结尾的 C:\Users\manoj\OneDrive\Desktop 覆盖默认值 output.png。尝试

C:\Users\manoj\OneDrive\Desktop\output.png

作为

中的输出
im_border(r'C:\Users\manoj\OneDrive\Desktopa4c4b2b47cdcbb6d359140081f63478.jpg',r'C:\Users\manoj\OneDrive\Desktop\output.png')