load images and their references
이전 댓글 표시
Can anyone help me to plot graph by using grid2image command by loading images and their references with their names from a single mat file with two different variables names. I have attached the code in which mat file is generated
start_path='F:\study\practise\New folder\2015';
topLevelFolder = start_path;
if topLevelFolder == 0
return;
end
filePattern_1 = sprintf('%s/**/HH/', topLevelFolder);
filePattern = sprintf('%s/*.tif', filePattern_1);
allFileInfo = dir(filePattern);
isFolder = [allFileInfo.isdir];
allFileInfo(isFolder) = [];
listOfFolderNames = unique({allFileInfo.folder});
numberOfFolders = length(listOfFolderNames);
fprintf('The total number of folders to look in is %d.\n', numberOfFolders);
totalNumberOfFiles = length(allFileInfo);
if totalNumberOfFiles >= 1
for k = 1 : totalNumberOfFiles
% Go through all those files.
thisFolder = allFileInfo(k).folder;
thisBaseFileName = allFileInfo(k).name;
fullFileName = fullfile(thisFolder, thisBaseFileName);
% fprintf(' Processing file %d of %d : "%s".\n', k, totalNumberOfFiles, fullFileName);
% To get images and their georeferencing
[A,R]=geotiffread(fullFileName);
Y= db2pow(A );
% % To apply median filter
B = medfilt2(Y,[100 100]);
%
% To apply block averaging
% meanFilterFunction = @(theBlockStructure) mean2(theBlockStructure.data(:)) * ones(2,2, class(theBlockStructure.data));
meanFilterFunction = @(theBlockStructure) mean2(theBlockStructure.data(:));
blockSize = [12 12];
blockyImage = blockproc(B, blockSize, meanFilterFunction);
blockyImage(isnan(blockyImage))=0;
X= pow2db(blockyImage);
% % To save images and their names as a single mat file
Alpha(k).name=thisBaseFileName;
Alpha(k).img=X;
%
% Get lat and lon of blocked images
R_blocked = R;
R_blocked.RasterSize = size(X);
% %To save georeferencing of all images as a single mat file
% R2.name=thisBaseFileName;
R2(k).name=thisBaseFileName;
R2(k).Georeferencing=R_blocked;
save('Preprocessed2015.mat','Alpha', 'R2');
clear X
end
else
end
댓글 수: 6
Image Analyst
2020년 12월 11일
Can you format your text? Back in MATLAB type control-a (to select all), then control-I (to fix the indenting). Then copy and paste back here so we can read it.
Nadia jabeen
2020년 12월 12일
Nadia jabeen
2020년 12월 12일
Image Analyst
2020년 12월 12일
Look how all your left hand margins are not aligned properly. I did what I said control-a, control-i and pasted back here. Look, doesn't the code below have a better indenting/formatting than what you pasted originally? The left margins now start where they should rather than being a random jumble of starting columns.
start_path='F:\study\practise\New folder\2015';
topLevelFolder = start_path;
if topLevelFolder == 0
return;
end
filePattern_1 = sprintf('%s/**/HH/', topLevelFolder);
filePattern = sprintf('%s/*.tif', filePattern_1);
allFileInfo = dir(filePattern);
isFolder = [allFileInfo.isdir];
allFileInfo(isFolder) = [];
listOfFolderNames = unique({allFileInfo.folder});
numberOfFolders = length(listOfFolderNames);
fprintf('The total number of folders to look in is %d.\n', numberOfFolders);
totalNumberOfFiles = length(allFileInfo);
if totalNumberOfFiles >= 1
for k = 1 : totalNumberOfFiles
% Go through all those files.
thisFolder = allFileInfo(k).folder;
thisBaseFileName = allFileInfo(k).name;
fullFileName = fullfile(thisFolder, thisBaseFileName);
% fprintf(' Processing file %d of %d : "%s".\n', k, totalNumberOfFiles, fullFileName);
% To get images and their georeferencing
[A,R]=geotiffread(fullFileName);
Y= db2pow(A );
% % To apply median filter
B = medfilt2(Y,[100 100]);
%
% To apply block averaging
% meanFilterFunction = @(theBlockStructure) mean2(theBlockStructure.data(:)) * ones(2,2, class(theBlockStructure.data));
meanFilterFunction = @(theBlockStructure) mean2(theBlockStructure.data(:));
blockSize = [12 12];
blockyImage = blockproc(B, blockSize, meanFilterFunction);
blockyImage(isnan(blockyImage))=0;
X= pow2db(blockyImage);
% % To save images and their names as a single mat file
Alpha(k).name=thisBaseFileName;
Alpha(k).img=X;
%
% Get lat and lon of blocked images
R_blocked = R;
R_blocked.RasterSize = size(X);
% %To save georeferencing of all images as a single mat file
% R2.name=thisBaseFileName;
R2(k).name=thisBaseFileName;
R2(k).Georeferencing=R_blocked;
save('Preprocessed2015.mat','Alpha', 'R2');
clear X
end
else
end
Nadia jabeen
2020년 12월 13일
Image Analyst
2020년 12월 13일
I don't have geotiffread(). Is that in the Mapping Toolbox (which I don't have)?
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Neighborhood and Block Processing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!