二分类图片标签从0-1改为0-255——将图片位深度从1改为8
原始图像位深度为1,21=2,像素值只有0和1两种,也即该图像为二值图
。
此时图像呈现出黑白两种颜色,在做深度学习时,有的需要将图片标签设置为0-255
这时,需要将图像的位深度改为8
,28=256,当图像位深度改为8后,还需将原来的灰度值为1的像素改为灰度值255
从视觉上来看,改前改后没有区别,如果没有将灰度值为1的像素改为灰度值255,那么在图像会显示为全黑色,因为灰度值1接近于黑色,肉眼看不出区别。
# coding=gbk
from PIL import Image
import os.path
import glob
import numpy as np
import cv2
def invert_bit(fname, outdir):
img = Image.open(fname)
img_array = np.array(img)
img = Image.fromarray(np.uint8(img_array))
# img.save(os.path.join(outdir,os.path.basename(fname)))
img = np.array(img)
rows, cols = img.shape
for i in range(rows):
for j in range(cols):
if img[i, j] == 0:
img[i, j] = 0
else:
img[i, j] = 255
cv2.imwrite(outdir + os.path.basename(fname), img)
return img
for jpgfile in glob.glob("./test/re-train-loss/*.tif"):
invert_bit(jpgfile, "./test/re-train-loss1/")