Вы загружаете свой jpg в градациях серого, поэтому вы сможете записывать только градации серого в img1
OpenCV Imread docs
изменить эту строку
img1 = cv2.imread('Edged_img.jpg',0)
до
img1 = cv2.imread('Edged_img.jpg',1)
Как вы можете видеть из вышеупомянутых связанных документов, использование этих номеров - это нормально, но вы фактически устанавливаете флаг, поэтому вы можете использовать определение флага, чтобы сделать ваш код более понятным. По совпадению, если бы вы использовали флаги, у вас, вероятно, не было бы этой проблемы.
Вы можете изменить свою линию на
img1 = cv2.imread('Edged_img', cv2.IMREAD_COLOR)
Посмотрите, насколько яснее и понятнее это. Особенно, когда вы вернетесь к этому коду / передадите его другому разработчику через несколько месяцев.