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)
根据documentation,imread
中的参数0
与灰度相关,1
与彩色图像相关。
我正在尝试发送带有 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)
根据documentation,imread
中的参数0
与灰度相关,1
与彩色图像相关。