Code Block of Operates in Image Processing

2 visualizzazioni (ultimi 30 giorni)
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);

Risposta accettata

Image Analyst
Image Analyst il 17 Nov 2020
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 Commenti
Rooter Boy
Rooter Boy il 18 Nov 2020
Modificato: Rooter Boy il 19 Nov 2020
Sir, could you help me when you are available? you are professional at matrix operates in matlab.
Image Analyst
Image Analyst il 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.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by