Exchange bit-planes
29 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Brahim Aboumouadine
am 24 Dez. 2020
Kommentiert: Brahim Aboumouadine
am 24 Dez. 2020
hey everyone
how to Exchange the third and the fifth bit-planes of a gray-scale image using bitget and bitset ??
thanks in advance
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 24 Dez. 2020
Bearbeitet: Image Analyst
am 24 Dez. 2020
Here's one way:
% Demo to extract and swap bitplanes in a gray scale image.
clc; % Clear the command window.
workspace; % Make sure the workspace panel is showing.
fontSize = 20;
% Read in a standard MATLAB gray scale demo image.
folder = fullfile(matlabroot, '\toolbox\images\imdemos');
button = menu('Use which demo image?', 'CameraMan', 'Moon', 'Eight', 'Coins', 'Pout');
if button == 1
baseFileName = 'cameraman.tif';
elseif button == 2
baseFileName = 'moon.tif';
elseif button == 3
baseFileName = 'eight.tif';
elseif button == 4
baseFileName = 'coins.png';
else
baseFileName = 'pout.tif';
end
% Read in a standard MATLAB gray scale demo image.
folder = fullfile(matlabroot, '\toolbox\images\imdemos');
% Get the full filename, with path prepended.
fullFileName = fullfile(folder, baseFileName);
if ~exist(fullFileName, 'file')
% Didn't find it there. Check the search path for it.
fullFileName = baseFileName; % No path this time.
if ~exist(fullFileName, 'file')
% Still didn't find it. Alert user.
errorMessage = sprintf('Error: %s does not exist.', fullFileName);
uiwait(warndlg(errorMessage));
return;
end
end
grayImage = imread(fullFileName);
% Get the dimensions of the image. numberOfColorBands should be = 1.
[rows columns numberOfColorBands] = size(grayImage);
% Display the original gray scale image.
subplot(2, 1, 1);
imshow(grayImage, []);
title('Original Grayscale Image', 'FontSize', fontSize);
% Get the 3rd bitplane
bitPlane3Image = bitget(grayImage, 3);
% Get the 5th bitplane
bitPlane5Image = bitget(grayImage, 5);
% Make the 3rd bitplane the 5th one.
grayImage = bitset(grayImage, 3, bitPlane5Image);
% Make the 5th bitplane the 3rd one.
grayImage = bitset(grayImage, 5, bitPlane3Image);
% Display the original gray scale image.
subplot(2, 1, 2);
imshow(grayImage, []);
title('Modified Grayscale Image', 'FontSize', fontSize);
fprintf('Done running %s.m.\n', mfilename);
msgbox('Done with demo');
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Convert Image Type finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!