Downsampling a single RGB Channel
Afficher commentaires plus anciens
How would you go about downsampling a single RGB Channel (R, G or B) and then re-forming the RGB image? I'm fairly new to image processing. I've looked at a few sources, but I haven't managed to find the answer to this in Matlab yet.
For example, if I split the image into its individual R, G and B channels, downsample the G and B channel with sample rate of 2, how would I recombine the R channel with the downsampled G and B channels? They are all now different matrix dimensions. I hope this isn't a silly question and that my example is clear enough to understand.
Réponses (1)
Image Analyst
le 20 Avr 2016
Use cat
smallRGB = cat(3, smallRedChannel, smallGreenChannel, smallBlueChannel);
Of course you can use use imresize(rgbImage, 0.5) on the original RGB image if you want, rather than splitting it up into separate color channels.
4 commentaires
stayfrosty
le 20 Avr 2016
Modifié(e) : stayfrosty
le 20 Avr 2016
Image Analyst
le 20 Avr 2016
That's correct, they can't be combined unless they're all the same size. If you want, you can blow up the small images with pixel replication using the 'nearest' option of imresize(). Then you can recombine them and see two of the channels looking kind of blocky.
stayfrosty
le 20 Avr 2016
Modifié(e) : stayfrosty
le 20 Avr 2016
Image Analyst
le 20 Avr 2016
Notice that they do not combine the different sized images into another image like you asked about. They probably save them separately in binary in some file, one after the other.
To reconstruct, yes, you'd read in the data, then reverse the process, including IDCT and resizing.
Catégories
En savoir plus sur Image Processing and Computer Vision dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!