我想优化以下代码,这只是一个矩阵乘法——我确信这可以在不使用循环的情况下完成——但我似乎不太能做到。
k = [ 76 150 29; ...
-44 -85 128; ...
128 -108 -21];
for i = 1:size(rgb,1)
for j = 1:size(rgb,2)
triplet(1:3) = rgb(i,j,:);
yuv(i,j,:) = single(triplet) * single(k');
yuv(i,j,:) = fix(yuv(i,j,:) ./ 256);
end
end
有什么想法或建议吗?
顺便说一下,对于那些有图像处理背景的人来说,你会意识到上面的代码只是一个简单的 RGB 到 YUV 的转换——你可能会问我为什么不使用内置rgb2ycbcr
函数——但是在这种情况下我想使用如上所述的 8 位转换系数。