how can I read and extract the 2 LSBs of every byte from the RGB image array ?
4 ビュー (過去 30 日間)
古いコメントを表示
i want to read the 2 LSbs of every byte for exaple i want to read (00) from this byte (11111100) for the whole of the image
0 件のコメント
採用された回答
yanqi liu
2021 年 12 月 27 日
clc; clear all; close all;
img = imread('cameraman.tif');
img2 = blockproc(img,[1 1],@sp);
figure; imshowpair(img,img2,'montage')
function y=sp(x)
% every byte
x2 = dec2bin(x.data);
% 2 LSB of every byte
y=bin2dec(x2(end-1:end));
end
0 件のコメント
その他の回答 (1 件)
Voss
2021 年 12 月 26 日
One way is to read the data as bytes (type uint8) like usual, then the 2 LSBs are the remainder after dividing by 4, e.g.:
b = uint8(0:255)
r = rem(b,4)
s = dec2bin(r)
a = s-'0'
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
