Applying 2D filter on RGB image
22 views (last 30 days)
Show older comments
Ozan Can Sahin
on 17 Oct 2020
Answered: Subhadeep Koley
on 3 Nov 2020
Hi all,
I'm having some troubles with applying a vector filter on RGB image, I'm not getting errors but I'm not getting an output which makes sense either. I'm losing at least one of the color channels somehow but I don't know what I'm doing wrong. You can find the application I'm trying to implement in the screenshot attached and I also attach the code to this entry. Looking forward to your help.
Thanks in advance
0 Comments
Accepted Answer
Subhadeep Koley
on 3 Nov 2020
Hi Ozan, the below code might help!
img = imread('kodim07.png');
imshow(img)
img = imresize(img, 2, 'bicubic');
figure
imshow(img)
% define filter kernel
kernel = [1, -5, 20, 20, -5, 1] / 32;
% extracting rgb channels individually
rChannel = img(:, :, 1);
gChannel = img(:, :, 2);
bChannel = img(:, :, 3);
% applying filter to the extracted matrices separately
rChannelNew = filter2(kernel, rChannel);
gChannelNew = filter2(kernel, gChannel);
bChannelNew = filter2(kernel, bChannel);
% concatenate matrices along 3rd dimension
outputImg = cat(3, rChannelNew, gChannelNew, bChannelNew);
% convert the numeric matrix to image
outputImg = mat2gray(outputImg);
figure
imshow(outputImg)
0 Comments
More Answers (0)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!