Python 3.x (Python 3/OpenCV)cv2.imwrite返回布尔值,而不是图像对象

Python 3.x (Python 3/OpenCV)cv2.imwrite返回布尔值,而不是图像对象,python-3.x,return,cv2,Python 3.x,Return,Cv2,我试图编辑彩色图像并返回该图像的灰度。这是我能做到的,但我只能通过硬编码的名称才能做到。经过一点print语句调试后,我发现我在返回布尔值时使用的return语句 def change_to_gray_scale(path): color_image = path img = cv2.imread(color_image, 0) gray_img = cv2.imwrite(color_image.strip(".jpg") + "_colorless.jpg", img) re

我试图编辑彩色图像并返回该图像的灰度。这是我能做到的,但我只能通过硬编码的名称才能做到。经过一点print语句调试后,我发现我在返回布尔值时使用的return语句

def change_to_gray_scale(path):
  color_image = path
  img = cv2.imread(color_image, 0)
  gray_img = cv2.imwrite(color_image.strip(".jpg") + "_colorless.jpg", img)
  return gray_img  # Returns a Boolean and not "new_image_colorless.jpg"
我想做的是让它返回新的图像,但我没有运气。我已经做了几个小时了,可能会犯一个愚蠢的小错误。所以当我休息的时候,我想让其他人看看


谢谢你的帮助

目前,我刚刚决定对字符串格式进行一些研究。C的CV2文档说imwrite返回bool,所以我假设python也是这样

这是我想出的解决办法

image_str = (image_path.strip(".jpg") + "_colorless.jpg")
image_name = os.path.split(image_str)[1]

以后我会把它放到上面的函数中。

你能分享你传递给你函数的输入路径吗。@shubham我用一个函数向用户请求路径。但是我使用的图像在程序文件的当前路径中
def locate_image():path=input(“您想要给我们的映像的位置是什么?”)返回os.path.abspath(path)