将灰度图像中像素的uint8值转换为matlab中的二进制值

时间:2012-10-03 20:01:20

标签: matlab binary

我有一个灰度图像,在灰度图像中,每个像素都有一个uint8值。例如,当我使用myImage(2, 3)时,我收到0到25​​5之间相应像素值的值。现在我想将此值转换为8位的二进制数组。例如:如果myImage(2, 3)等于15,那么我希望此像素的转换值为00001111

1 个答案:

答案 0 :(得分:2)

dec2bin(15, 8)以字符串形式返回00001111。这里,8指定二进制字符串的最小长度。

有关完整信息,请参阅here

如果你想把它作为一个矩阵,你可以这样做:

binstring = dec2bin(pixelVal, 8);
m = str2num(binstring(:))';

如果pixelVal为15,则会产生m = [0 0 0 0 1 1 1 1]