我有一项任务是将灰度图像转换为二进制,然后将其恢复为原始形式。我正在使用opencv的thresh hold函数将灰度转换为二进制是否有任何方法可以使用直方图均衡或图像强度转换域或任何其他方法将二进制图像转换为灰色
答案 0 :(得分:1)
您可以按照以下步骤将灰度图像转换为二进制图像:
i-通过导入cv2
读取灰度图像import cv2
im_gray = cv2.imread('path_of_grayscale_image.png', cv2.CV_LOAD_IMAGE_GRAYSCALE)
ii-将灰度图像转换为二进制
(thresh, im_bw) = cv2.threshold(im_gray, 128, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
使用Otsu方法自动从图像中确定阈值,或者如果您已经知道可以使用的阈值:
thresh = 127
im_bw = cv2.threshold(im_gray, thresh, 255, cv2.THRESH_BINARY)[1]
iii-保存
cv2.imwrite('binary_image.png', im_bw)