背景
在进行图片语义分割模型训练时,需要对图片进行通道转换,我在进行图片掩码处理时,发现按照行列方式对图片数据进行遍历非常低效,故探索更加高效的处理方案 ,性能提升50倍
传统方式
src = cv2.imread('work/zj1.png', cv2.IMREAD_UNCHANGED)
src = src[:, :, 3]
r, c = src.shape
for i in range(r):
for j in range(c):
if src[i][j] > 0:
src[i][j] = 1
改进方案
import cv2
img = cv2.imread('work/zj1.png', cv2.IMREAD_UNCHANGED)
print(img.shape)
img = img[:, :, 3]
img[img>0] = 1
效果对比

网友评论