![0000 Screenshot.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/238700/0000%20Screenshot.png)
How can I reconstruct an RBG image?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have the following image. Is there any way to reconstruct this image without all the noise and the blurring in it (with the same color of each fringe)?
In other words, I want to make these colored fringes on a black ground.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/238665/image.jpeg)
0 comentarios
Respuestas (2)
Image Analyst
el 18 de Sept. de 2019
How about this, using the attached data in answers.mat:
s = load('answers.mat')
red = repmat(s.red, [1699, 1]);
green = repmat(s.green, [1699, 1]);
blue = repmat(s.blue, [1699, 1]);
rgbImage = uint8(cat(3, red, green, blue));
imshow(rgbImage);
axis('on', 'image');
![0000 Screenshot.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/238700/0000%20Screenshot.png)
4 comentarios
Image Analyst
el 19 de Sept. de 2019
I took the average profile over a section of "good" rows in original image, then replicated it for the entire height of the image.
I assume the glitches were noise that you said you did not want, so I ignored them.
If you just want simple noise reduction, maybe you should try something like medfilt2() to do a median filter.
James Heselden
el 6 de Nov. de 2019
I have tried to find you a solution which will work with any image you want, however I am only able to test this system on the single image you have provided. The following script has given me the attached output image. I hope this will help you with your project.
%Read in the image you want
I = imread('image.png');
%Extract and binarize the relevant colour channels
redChannel=imbinarize(I(:,:,1), 0.8);
greenChannel=imbinarize(I(:,:,2), 0.4);
%Filter the image
filtered = medfilt2(redChannel+greenChannel);
%Convert to binary mask
mask=imbinarize(filtered,0.3);
%Apply the mask to the colour channels
Ir = I(:,:,1); Ir(~mask)=0;
Ig = I(:,:,2); Ig(~mask)=0;
Ib = I(:,:,3); Ib(~mask)=0;
%Compile the output image
I_coloured(:,:,1) = Ir;
I_coloured(:,:,2) = Ig;
I_coloured(:,:,3) = Ib;
imagesc(I_coloured)
![I_coloured.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/247088/I_coloured.png)
0 comentarios
Ver también
Categorías
Más información sobre 3-D Volumetric Image Processing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!