how to convert a true colour image into rgb image

조회 수: 6 (최근 30일)
jagannath mishra
jagannath mishra 2013년 3월 21일
% code
clc
clear all
close all
w=fspecial('laplacian',0);
f=imread('ee.jpg');
figure
imshow(f)
title('original image');
g1=imfilter(f,w,'replicate');
figure
imshow(g1,[]);
title('unit8 image');
%[f2,revertclass]=tofloat(f);
f2=single(f);
g2=imfilter(f2,w,'replicate');
figure
imshow(g2,[]);
title('double image');
g=f2-g2;
figure
imshow(g);
title('subtracted image');
now i want the o/p image to be converted to its rgb color space.how can i get it i have used the programe like
% code
res=grs2rgb(g);
figure
imshow(cl);
title('coloured image');
but i am getting errors like
% code
Subscript indices must either be real positive
integers or logicals.
Error in ==> grs2rgb at 66 r(:) = map(ci,1);
Error in ==> page77 at 24 res=grs2rgb(g);
so please help in this . the image at the figure3 is present at the https://www.yousendit.com/download/UVJoeFVhZy9PSHhBSXRVag u can see that

채택된 답변

Image Analyst
Image Analyst 2013년 3월 21일
You're doing a DOG (difference of Gaussians) filter. You convert two images to floating point and subtract them. MATLAB does not display floating point RGB images. There is no need for the grs2rgb() function. You can either cast it (your "g" variable) to uint8 with the uint8() function, or scale it to the 0-1 range with im2double().
  댓글 수: 6
jagannath mishra
jagannath mishra 2013년 4월 1일
편집: jagannath mishra 2013년 4월 1일
sir,basicaly what is my goal is to remove the rain particles from the image.so i try to find something which will help me to detect and remove rain from the image.so as rain is a high frequency particle so my guide told me to use this code.but i think i don't have a fine result by this .and,now by using the code %rgbImage = cat(3, grayImage, grayImage, grayImage); it is just giving an output as the previous subtracted image which is not a "rgb"image.
Image Analyst
Image Analyst 2013년 4월 1일
It's an RGB image with every color channel being the same. If that's not what you want, then please say exactly what you want to be in the red channel, the green channel, and the blue channel. If they are to be different images in each channel then say what they are, how they are different, where they are supposed to come from, etc. Do you want to do the same filtering on each color channel independently and then combine the results into an RGB image when the filtering is all done?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Jan
Jan 2013년 3월 21일
grs2rgb is no Matlab function. I guess you mean FEX: grayscale-to-rgb-converter. Then the author is responsible for such questions, but the documentation should clear this also. It looks like this function expects an image with indexed colors, while you provide another format.
Instead of posting the method to create the inputs, it would be much easier to understand, iof you show us the size and type of the variable g, and if it contains integer or floating point values.
  댓글 수: 1
jagannath mishra
jagannath mishra 2013년 3월 26일
i have seen that program before but while i put my image in that it says an error .but it will perfectly work on the images given by it.so don't know what to do

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Convert Image Type에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by