spatial transformation of image
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi guys, I am beginner to MATLAB.
How to convert one normal image(either gray or rgb) to 1 bit, 2 bit, 3 bit, 4 bit and 8 bit through spatial transformation?
Thanks.
0 Commenti
Risposte (1)
Image Analyst
il 17 Set 2016
You can't do that. You can transform the image spatially with function like imwarp(), imtranslate(), etc. but they won't change the bit depth.
See attached bit plane demo.
8 Commenti
Image Analyst
il 18 Set 2016
Modificato: Image Analyst
il 18 Set 2016
In your picture, you're changing the spatial resolution of the image, not the intensity resolution which is the bit depth.
Of course if the intensities are only 2 bits, the intensities can be 0, 1, 2, or 3, so of course that's going to be darker than an image with 8 bits where the values can go as high as 255.
To reduce the spatial resolution of the image, you can use imresize, with the 'nearest' option, both to shrink it and to magnify it.
grayImage = imread('cameraman.tif');
subplot(3,1,1);
imshow(grayImage);
axis on;
smallImage = imresize(grayImage, 1/16, 'nearest');
subplot(3,1,2);
imshow(smallImage);
axis on;
bigImage = imresize(smallImage, 16, 'nearest');
subplot(3,1,3);
imshow(bigImage);
axis on;
Vedere anche
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!