CV2将图片保存为BlackNWhite

CV2 saves pictures in BlackNWhite

我正在尝试发送带有 sockets 模块和 pickles 的图片。没问题,但是收到的图片是黑白的...有人可以告诉我,我做错了哪一部分吗?

首先设置参数:

encode_param = [int(cv2.IMWRITE_JPEG_QUALITY)]

读取文件

img = cv2.imread('th.jpg', 0)

对其进行编码

 ret, img = cv2.imencode('.jpg', img, encode_param)

转储然后用pickles发送到我的client这边

 msg = pickle.dumps(img, 0)

在我的 client side - 打开它,解码并写入文件

        frame=pickle.loads(message, fix_imports=True, encoding="bytes")
        frame = cv2.imdecode(frame, cv2.IMREAD_COLOR)
        cv2.imwrite(f'{message_header}.jpg',frame)

但是保存的文件是bnw....问题出在哪里?

这行有问题。 img = cv2.imread('th.jpg', 0) 改成下面这样。

img = cv2.imread('th.jpg', 1)

根据documentationimread中的参数0与灰度相关,1与彩色图像相关。