您好我想在阈值后保存图片:
binary=cv2.threshold(fark, 30, 255, cv2.THRESH_BINARY)[1]
binary.astype(np.uint8)
print binary.shape
cv2.imwrite("path"+str(counter)+".png",binary)
binary.shape输出为:(320,240)--->这就是我想要的
但是当我读到图片时:
image=cv2.imread(path)
print image.shape
输出是(320,240,3),当我检查数组时它的值为254,253
我可以为此版本做些什么以及保存二进制图像的最佳文件格式是什么?
答案 0 :(得分:3)
threshed
已经np.uint8
,无需进行任何更改。
th, threshed = cv2.threshold(fark, 30, 255, cv2.THRESH_BINARY)
print(threshed.dtype, threshed.shape)
但是在使用cv2.imread
时,默认会转换为BGR
个频道。保持原始形状和频道(grayscale
或png with alpha channel
):
img = cv2.imread("test.png", cv2.IMREAD_UNCHANGED)
或只是灰色:
img = cv2.imread("test.png", cv2.IMREAD_GRAYSCALE)