How can I make a single filter using MATLAB code to get galaxy image to be negative image so that dim parts of the original image are bright, and bright parts are dark?
조회 수: 1 (최근 30일)
이전 댓글 표시
Two images of the same spiral galaxy are shown in Fig. The left panel shows the familiar image that you would see
if you took a picture of the galaxy through a single filter. The image on the right shows the "negative" (or "inverse")
of the image on the left. The negative image has been altered so that dim parts of the original image are now
white, and bright parts are now dark.
How can I make filter using MATLAB code the RGB galaxy image to be like that image??
I tried this code but it does not give me what I want -- the result image is not clear.
positiveImage = imread('PGC0020886.png');
negativeImage = 255 - positiveImage;
imshow(negativeImage)
_________________________
a = imread('PGC0002440.png');
d=255-a;
d=a;
for row=1:size(a,1)
for col=1:size(a,2)
d(row,col,:)=255-a(row,col,:);
end
end
imshow(d)
________________________
댓글 수: 0
답변 (2개)
Image Analyst
2020년 2월 16일
Your for loop just undid what your d=255-a statement did. Simply do this
d = 255 - a;
imshow(d, []);
without the for loop at all.
Try imadjust(). From the help:
J = imadjust(RGB,[low_in high_in]) maps the values in truecolor image RGB to new values in J. You can apply the same mapping or unique mappings for each color channel.
You could also try adapthisteq() if you want the contrast stretch to be locally adaptive.
댓글 수: 4
Image Analyst
2020년 2월 18일
Why do you want to change the image? Just to make it look "better" than what is actually there in the original image? Is your image the original image directly from NASA? Or is it second or third hand, possibly changed along the way? Attach your PNG image if you need more help.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!