Apply adaptive histogram equalization at the bottom part of the image

3 vues (au cours des 30 derniers jours)
SS
SS le 21 Avr 2021
Modifié(e) : SS le 25 Avr 2021
Hi. I have a set of 2000 tif images of size 1024 X 1024 pixels in a folder and I want to apply histogram equalization only at the bottom part of the image. Say from y = 800 px to y = 1024 px, and make the rest (top part) of the image black. How can I incorporate this in the below code?
% Location of the original files
d = 'D:\Raw_Images\';
% Location of the new files
drive1='D:\New Imagews\';
for i=1:2000
num=sprintf('%03.0f\n',i);
name=strcat(d,'B_',num,'.tif');
I=imread(name);
J=adapthisteq(I,'NumTiles',[8 8],'clipLimit',0.1,'Distribution','uniform');
imwrite(J,strcat(drive1,'B_',num,'.tif'),'Compression','none');
end

Réponse acceptée

DGM
DGM le 21 Avr 2021
Something like this.
inpict=imread('someparticularimage.tiff');
tophalf=zeros([799 size(inpict,2) size(inpict,3)],class(inpict));
bothalf=inpict(800:end,:,:);
for c=1:size(inpict,3)
bothalf(:,:,c)=adapthisteq(bothalf(:,:,c),allmyfavoriteargumentsgohere);
end
outpict=cat(1,tophalf,bothalf);
This assumes the images may be color. If you can be assured that they are all single-channel images, the loop would be unnecessary.
  1 commentaire
SS
SS le 22 Avr 2021
Modifié(e) : SS le 25 Avr 2021
Hi, thanks for your reply. It worked well.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Filtering and Enhancement dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by