假设有(m )的矩阵(尤指p)。带有R和B通道的彩色图像。每个信道信息是8位整数.
但是,为了进行分析,必须将三个8位值组合起来才能得到24位值,并对24位值的(m )矩阵进行分析。
经过分析,将矩阵分解为三个8位通道来显示结果。
我现在在做的是:
dec2bin)strcat和bin2dec)代码:
`for i=1:m for j=1:n new_img(i,j) = bin2dec(strcat(... sprintf('%.8d',str2double(dec2bin(img(i,j,1)))), ... sprintf('%.8d',str2double(dec2bin(img(i,j,2)))), ... sprintf('%.8d',str2double(dec2bin(img(i,j,3)))))); end end` 对于分解后的三个8位,经过分析,进行了精确的反向过程,仍然迭代(m )值。
问题是计算时间很长。
我知道这不是正确的做法。是否有任何矩阵运算,我可以做到这一点,以便计算是快速完成的?
发布于 2015-08-31 04:19:41
虽然我不明白你为什么要用这种方式“组合”rgb飞机,但这会让你在一个命令中找到你想要的东西。
a = bitshift(img(:,:,1),16)+...
bitshift(img(:,:,2,8)+...
img(:,:,3);要逆转这一过程,除了向右移动之外,还需要进行二进制掩蔽。
A=zeros(size(img));
A(:,:,1)=bitshift(a,-16);
A(:,:,2)=bitshift(bitand(a,2^16-2^8),-8);
A(:,:,3)=bitand(a,2^8-2^0);https://stackoverflow.com/questions/32303468
复制相似问题