Downsampling a single RGB Channel
显示 更早的评论
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.
回答(1 个)
Image Analyst
2016-4-20
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 个评论
stayfrosty
2016-4-20
编辑:stayfrosty
2016-4-20
Image Analyst
2016-4-20
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
2016-4-20
编辑:stayfrosty
2016-4-20
Image Analyst
2016-4-20
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.
类别
在 帮助中心 和 File Exchange 中查找有关 Image Processing and Computer Vision 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!