我正在尝试编辑彩色图像并返回该图像的灰度。我能够做到,但只能通过对名称进行硬编码来实现。经过一些打印语句调试后,我发现我仅在返回布尔值时使用的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"
我想做的事情得到它来返回新图像,但是我没有运气。我已经在这里呆了几个小时,可能只是犯了一个愚蠢的小错误。因此,在休息时,我想让其他人看一下。
感谢您的帮助!
答案 0 :(得分:0)
暂时,我刚刚决定对字符串格式进行一些工作。 C语言的CV2文档说imwrite返回一个布尔值,因此我将假定它与python相同。
这是我想出的解决方案。
image_str = (image_path.strip(".jpg") + "_colorless.jpg")
image_name = os.path.split(image_str)[1]
将来,我会将其放在上面的功能中。