我希望不保存bw
来执行此操作,以避免每次保存时都必须读取文件,并直接对其进行转换,以便可以使用opencv对其进行读取。
#Image Pillow open
img = Image.open('/content/drive/My Drive/TESTING/Placas_detectadas/HCPD24.png')
gray = img.convert('L')
bw = gray.point(lambda x: 0 if x<80 else 255, '1')
bw.save('xd.png')
#Imagen from opencv
im = cv2.imread('/content/xd.png')
im = ~im
cv2_imshow(im)
cv2.imwrite('wena.png',im)
有什么想法吗?
答案 0 :(得分:2)
如果您的目标是将图像转换为灰度,然后对其进行遮罩,以使亮度低于80的所有内容均为白色,而高于80的所有内容均为黑色,则可以在OpenCV中快速完成所有操作:
import cv2
im = cv2.imread('a.jpg')
im = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) # Grayscale image
_, im = cv2.threshold(im, 80, 255, cv2.THRESH_BINARY_INV) # Threshold at brightness 80 and invert
cv2.imwrite('converted.png', im) # Write output