Hello,
I have 6 images that I want to insert on the one plot at the same time based on the latitude and longitude that specified in a table (namely coordinate). All 6 pictures name like this: filename1.png, filename2.png, filename3.png, … filename6.png; Which should plot using the information in the coordinate table first, second, third …, and sixth respectively.
I know how to plot one by one them using this code:
% This code for plot just first image
LowerLeftCornerLon = coordinates.LowerLeftCornerLon(1); % the first image uses the first row of the table, second must use second and so on
UperrRightCornerLon = coordinates.UperrRightCornerLon(1);LowerLeftCornerLat = coordinates.LowerLeftCornerLat(1);UperrRightCornerLat = coordinates.UperrRightCornerLat(1);img1_lon = [LowerLeftCornerLon,UperrRightCornerLon];img1_lat = [LowerLeftCornerLat,UperrRightCornerLat];[c, ~, tr] = imread('img1.png');im = image (img1_lon,img1_lat,flipud(c));im.AlphaData = tr;% then use hold on and do the same thing for the second picture but this time reading the second row of coordinate table
But I have some problems with writing a loop in order to plot all of them automatically.
Here is my try:
hold on % plot pictures on the previous plot
% first read all images from dir
if true srcFiles = dir('F:\university\matlab\mypictures\*.png'); for i = 1 : length(srcFiles) filename = strcat('F:\university\matlab\mypictures\',srcFiles(i).name); IMAGES{i} = (filename); endendfor i=1:numel(IMAGES) img_lowlat(i) = coordinates.LowerLeftCornerLat(i); img_lowlon(i) = coordinates.LowerLeftCornerLon(i); img_uplat(i) = coordinates.UperrRightCornerLat(i); img_uplon(i) = coordinates.UperrRightCornerLon(i); img_lon(i) = [img_lowlon(i),img_uplon(i)]; img_lat(i) = [img_lowlat(i),img_uplat(i)]; hold on [c, ~, tr] = imread('IMAGES{i}'); im = image (img1_lon,img1_lat,flipud(c)); im.AlphaData = tr;end
But this not accomplished well and after that, I get this error:
Unable to perform assignment because the indices on the left side are notcompatible with the size of the right side.
Did you know how can I do to fix my for loop and plot all images on the same plot successfully?
Really thank you
Best Answer