发现在将彩色图像转为灰度图像后,再使用cv.cvtColor(gray,cv.COLOR_GRAY2BGR)
并不能还原图像色彩。
代码:
import cv2 as cv
import numpy as np
src = cv.imread('images/2333.jpg')
print("src.shape----:",src.shape)
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
# 显示图片
cv.imshow('input image', src)
print("src.shape:", src.shape)
dst=src[40:140,100:300]
cv.imshow('dst', dst)
print("dst.shape:", dst.shape)
gray=cv.cvtColor(dst,cv.COLOR_BGR2GRAY)
cv.imshow('gray', gray)
print("gray.shape:", gray.shape)
back=cv.cvtColor(gray,cv.COLOR_GRAY2BGR)
print("back.shape:", back.shape)
print("-------------back:",back)
cv.imshow('back', back)
src[40:140,100:300]=dst
cv.imshow('srcfinal.shape:', src)
cv.waitKey(0)
# 删除建立的全部窗口,释放资源
cv.destroyAllWindows()
运行效果图: