【发布时间】:2020-10-18 23:10:03
【问题描述】:
我正在将 matlab 脚本转换为 py 文件。最少的 Matlab 代码:
% PNG file is 32 bit. G is RGB and discardIMG is alpha channel
[G, map, discardIMG] = imread('file.png');
discardIMG = double(discardIMG);
discard = mod(floor(discardIMG / 2^(i - 1)), 2);
imwrite(uint8(255 * discard), 'file.png';
我输入的 py 等效项:
% imread with -1 reads all 4 channels. Without it only RGB is read.
G = cv2.imread('file.png', -1)
% alpha channel as discard image
discardIMG = G[:,:,3].astype(float)
discard = np.floor( (discardIMG / 2**(i - 1))% 2)
cv2.imwrite('file2.png', (255*discard).astype(np.uint8))
问题是 matlab 文件比 py 文件小。对于8个文件的数量;
py saved file size = [21,21,30,21,21,21,21,21]
mat saved file size = [17,17,24,17,17,17,17,17]
我还检查了最终丢弃文件,它们的内容和大小看起来确实相同。有任何想法吗? py 文件的开销是多少。谢谢。
【问题讨论】: