Closed TerryYiDa closed 6 years ago
hi,
imread 读入的顺序是 BGR,但是 imwrite 还是会存成 jpeg 格式,不会颠倒通道。
那在infer_utils.py的get_subwindow_avg方法中: R = np.pad(im[:, :, 0], ((top_pad, bottom_pad), (left_pad, right_pad)), 'constant', constant_values=(avg_chans[0])) G = np.pad(im[:, :, 1], ((top_pad, bottom_pad), (left_pad, right_pad)), 'constant', constant_values=(avg_chans[1])) B = np.pad(im[:, :, 2], ((top_pad, bottom_pad), (left_pad, right_pad)), 'constant', constant_values=(avg_chans[2])) 是不是应该写成 B = np.pad(im[:, :, 0], ((top_pad, bottom_pad), (left_pad, right_pad)), 'constant', constant_values=(avg_chans[0])) G = np.pad(im[:, :, 1], ((top_pad, bottom_pad), (left_pad, right_pad)), 'constant', constant_values=(avg_chans[1])) R = np.pad(im[:, :, 2], ((top_pad, bottom_pad), (left_pad, right_pad)), 'constant', constant_values=(avg_chans[2])) im = np.stack((B, G, R), axis=2) 比较合适呢?谢谢
针对这个例子来说是的。因为在写这个函数时用的图片是 RGB,所以写成的是现在的形式。不过这个函数对于通道顺序不敏感,RGB 和 BGR 都适用。
在数据的预处理过程中,使用的图像读写函数为CV2.imread,这样图像数组的存入顺序应该是BGR,而在infer_utils中,你所处理的顺序还是RGB,这样会不会有什么问题呢?