Code Block of Operates in Image Processing
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Rooter Boy
le 17 Nov 2020
Commenté : Image Analyst
le 19 Nov 2020

I tried this:
%Take negative
%positiveImage = imread('cameraman.tif');
%negativeImage = 255 - positiveImage;
%imshow(negativeImage)
%or
1) a=imread('cameraman.tif');
d(:, :, 3) =255 - a(: ,:, 3);
d(: ,:, 2) = 255 - a(:, :, 2);
d(:, :, 1) =255 -a(:, :, 1);
imshow([a,d])
%log transformation with c=10
clc; clear all; close all;
f=imread('cameraman.tif')
g=rgb2gray(f);
c=input('Enter the constant value, c= 10');
[M,N]= size(g);
for x=1:M
for y=1:N
m= double(g(x,y));
z(x,y)= c. *log10(1+m);
end
end
imshow(f), figure, imshow(z);
%power-law with c=10, gamma=0.5
clc; clear all; close all;
RGB=imread(' cameraman.tif');
I=rgb2gray(RGB);
I=im2double(I);
[m,n]= size(I);
c=10;
g=[0.5];
for r= 1:length(g)
for p=1:m
for q=1:n
I3=(p,q) =c *I(p,q). ^ g(r);
end
end
figure, imshow(I3); title('Power law transformation'); xlabel('Gamma='), ylabel(g(r));
end
%contrast stretching
I=imread('cameraman.tif');
[m,n]=size(I);
figure, imshow(I);
minp=min(min(I));
maxp=max(max(I));
maxp=double(maxp);
minp=double(minp);
c=10;
d=255;
for i=1:m
for j=1:n
sonuc=(((d-c)/(maxp-minp))*(double(I(i,j))-minp))+c;
B(i,j)=round(sonuc);
end
end
B=uint8(B);
figure, imshow(B);
0 commentaires
Réponse acceptée
Image Analyst
le 17 Nov 2020
See the FAQ: How to process a sequence of files
In the middle of the loop, call a function that processes one image only and returns an output image. Then call sprintf() to create an output name, then call imwrite() to save the output image to that output file name.
9 commentaires
Image Analyst
le 19 Nov 2020
Sorry, I don't know much about that topic and don't understand what or why you think something's wrong with the code.
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!