前言:
最近忙於cityscapes數據集的數據預處理,發現,其label圖集都是基於8bit的單通道數據。之前,在做數據處理的時候,並沒有注意到這一點,到時生成的label圖集在與預測的結果圖集做miou計算時出現錯誤。
代碼實現:
from cv2 import cv2 as cv2
import numpy as np
# img = np.zeros((1024,2048),np.int8) # 創建一個8bit的數據
# img = cv2.imwrite("./1.png",img) # 存儲後其圖像依然爲8bit的圖像
# img = cv2.imread("./frankfurt_000000_000294_gtFine_labelIds.png",0) # 以單通道的格式打開
# img = cv2.imwrite("./2.png",img) # 存儲後依然是單通道
img1 = cv2.imread("./frankfurt_000000_000294_gtFine_labelIds.png",0)
img2 = cv2.imread("./2.png",0)
# print(img1.shape[0]) # hight
for i in range(img1.shape[0]):
for j in range(img1.shape[1]):
if img1[i][j] != img2[i][j]:
print("bug!")
else:
print("The point of "+str(i)+"_"+str(j)+" row:"+"is ok!") # 比對兩幅圖的像素值一致