如何在Python中将灰度图像转换为二值图像并反转该过程?

问题描述 投票:0回答:2

我有一个任务将灰度图像转换为二进制,然后将其恢复为原始形式。我正在使用 opencv 的阈值函数将灰度图像转换为二进制图像。有什么办法可以将二值图像重新转换为灰度图像吗?

python image opencv image-processing
2个回答
4
投票

您可以按照以下步骤将灰度图像转换为二值图像:

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)

0
投票

我有一个问题,一些代码说这个错误:

im_gray = cv.imread('anyaForger.jpeg', cv.CV_LOAD_IMAGE_GRAYSCALE) ^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: module 'cv2' has no attribute 'CV_LOAD_IMAGE_GRAYSCALE'

© www.soinside.com 2019 - 2024. All rights reserved.