无法保存OpenCV中筛选的图像

无法保存OpenCV中筛选的图像,opencv,image-processing,computer-vision,opencv-python,Opencv,Image Processing,Computer Vision,Opencv Python,我试图在应用过滤器后保存图像,但在磁盘上保存操作后,我没有dst_1,而是img img = cv2.imread(images[14], 1) kernel = np.ones((5,5), np.float32)/25 dst_1 = cv2.filter2D(img, -1, kernel) cv2.imwrite("path/f.jpg", dst_1) 当我在应用过滤器后使用imshow时,我看到了我期望看到的东西-过滤后的图像。 是否有人知道,这种imwrite行为的原因是什么,或

我试图在应用过滤器后保存图像,但在磁盘上保存操作后,我没有
dst_1
,而是
img

img = cv2.imread(images[14], 1)
kernel = np.ones((5,5), np.float32)/25
dst_1 = cv2.filter2D(img, -1, kernel)
cv2.imwrite("path/f.jpg", dst_1)
当我在应用过滤器后使用
imshow
时,我看到了我期望看到的东西-过滤后的图像。
是否有人知道,这种
imwrite
行为的原因是什么,或者我的错误在哪里?

我相信问题不在于您保存文件的方式,而在于您的过滤器没有执行您认为它正在执行的操作,因此它看起来与您保存的图像没有什么不同

OpenCV以BGR格式打开图像,并且您在评论中显示的第二个图像是相同的图像,但在RGB格式中,OpenCV有一个函数可以为您执行此操作,因此请尝试以下代码:

import cv2
import numpy as np 

img = cv2.imread(images[14], 1)
dst_1 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
cv2.imwrite("path/f.jpg", dst_1)

这应该能达到你想要的效果,希望能有所帮助

将路径更改为其他文件夹,仅用于测试。尝试在要保存图像的位置使用绝对路径。如果是在linux中,请确保您有权限在文件夹(或执行脚本的用户)I'am macOS中写入。我已经将路径改为绝对,但情况是一样的。我可以写图像,但我写错了图像。这就是问题所在。在我的系统上,它是有效的。path真的是文件夹的名称吗?或者是一个变量,您错误地将其作为字符串的一部分?您可以编辑一篇文章并显示一个示例图像以及它保存的内容吗?或者至少你能说有什么不同吗?过滤器是可以的,因为我可以使用
imshow
函数看到它的结果。但是当我保存图像时-没有结果我在我的ubuntu机器上测试了你的问题中的代码,当我使用imshow时,它看起来完全相同请编辑你的代码,使其与你机器上的代码完全相同,包括imshow