随笔杂记(十五)——将语义分割标签转换为指定像素值

随笔小杂记(四)——将语义分割标签转换为指定像素值

代码

import cv2
import numpy as np
import os
import tqdm
# img_list = ['label.png']
import os
filepath = "./emmm"
if __name__ == "__main__":
    print("start")
    if not os.path.exists(filepath):
        print("目录不存在!!")
        os._exit(1)
    i=0;
    filenames = os.listdir(filepath)
    # for data in filenames:
    #     newname=str(i)+"_src.png"
    #     i=i+1
    #     print(newname)
    #     os.rename(filepath + '\\' + data, filepath + '\\' + newname)
rootpath = filepath
imglist = filenames
for imgname in tqdm.tqdm(imglist):
    # print(imgname)
    img = cv2.imread(os.path.join(rootpath, imgname))
    gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    print(np.unique(gray),np.shape(gray),np.shape(img))
    print('图片大小为:', gray.shape)
    print('开始转换...')
    if np.unique(np.array(gray))[0]!=2 and np.unique(np.array(gray))[1]!=15:
        print(np.unique(np.array(gray)))
    for i in range (gray.shape[0]):
        for j in range(gray.shape[1]):
            if gray[i][j] == 255:
                gray[i][j] = 1#水
            # if gray[i][j] == 75:
            #     gray[i][j] = 2#水中杂物
            # if gray[i][j] == 38:
            #     gray[i][j] = 1#水中岛屿
            # if gray[i][j] == 0:
            #     gray[i][j] = 0#陆地(非水体)
    filename = imgname
    cv2.imwrite(os.path.join(rootpath, filename), gray)
    print('已保存文件{}'.format(filename))
    # for i in range (gray.shape[0]):
    #     for j in range(gray.shape[1]):
    #         if gray[i][j] == 113:
    #             gray[i][j] = 27#水
    #         if gray[i][j] == 75:
    #             gray[i][j] = 8#水中杂物
    #         if gray[i][j] == 38:
    #             gray[i][j] = 8#水中岛屿
    #         if gray[i][j] == 0:
    #             gray[i][j] = 8#陆地(非水体)
    #
    #
    # for i in range (gray.shape[0]):
    #     for j in range(gray.shape[1]):
    #         if gray[i][j] == 27:
    #             gray[i][j] = 1#水
    #             # print('changed')
    #         if gray[i][j] == 8:
    #             gray[i][j] = 15#陆地(非水
    #             # print('changed22')
    # filename = '2label_'+imgname
    # cv2.imwrite(os.path.join(rootpath, imgname[0:-4])+'xxx.tif', gray)
    #
    #
    # print('已保存文件{}'.format(os.path.join(rootpath, imgname)))
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值