필터 지우기
필터 지우기

Applying 2D filter on RGB image

조회 수: 14 (최근 30일)
Ozan Can Sahin
Ozan Can Sahin 2020년 10월 17일
답변: Subhadeep Koley 2020년 11월 3일
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.
For the image I'm trying to upscale, you can get it here.
Thanks in advance

채택된 답변

Subhadeep Koley
Subhadeep Koley 2020년 11월 3일
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개)

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by