opencv-python之8bit图像的读取与存储

前言:

        最近忙于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!")     # 比对两幅图的像素值一致

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值