MATLAB Answers

Want to get all outputs together as one in image processing

2 views (last 30 days)
Shahrin Islam
Shahrin Islam on 27 Jul 2018
Edited: Guillaume on 29 Jul 2018
Hello. Here I am attaching a file. I am implementing different edge detection methods and would like to have my outputs as per the following format attached. I am a new learner. Please help me. Thanks in advance.

  1 Comment

KALYAN ACHARJYA
KALYAN ACHARJYA on 27 Jul 2018
Have you checked the answers? I have provided the three ways- More detail here

Sign in to comment.

Answers (2)

KALYAN ACHARJYA
KALYAN ACHARJYA on 27 Jul 2018
Edited: KALYAN ACHARJYA on 27 Jul 2018
fileFolder=fullfile(matlabroot,'toolbox','images','imdata');
dirOutput=dir(fullfile(fileFolder,'AT3_1m4_*.tif'));
%Above line>>tif-image format, change it as per the image format
fileNames={dirOutput.name};
montage(fileNames, 'Size', [4 4]); %16 images 4 by 4 blocks, you can change it

  9 Comments

Show 6 older comments
Adam
Adam on 27 Jul 2018
montage should do exactly what you want. You can also give it a cell array of images rather than filenames, as shown in the help
doc montage
KALYAN ACHARJYA
KALYAN ACHARJYA on 27 Jul 2018
You can reduce the space between subplot by using this custom function
Another way you can change the aspect ration visit here
Hope my Answers help you
Good Wishes
Shahrin Islam
Shahrin Islam on 28 Jul 2018
Can you help me with following code. [ha, pos] = tight_subplot(3,2,[.01 .03],[.1 .01],[.01 .01]) for ii = 1:6; axes(ha(ii)); plot(randn(10,ii)); end set(ha(1:4),'XTickLabel',''); set(ha,'YTickLabel','')

Sign in to comment.


Guillaume
Guillaume on 27 Jul 2018
img = imread('cameraman.tif');
figure;
subplot(2, 3, 1); imshow(img);
subplot(2, 3, 2); imshow(imbinarize(img));
subplot(2, 3, 3); imshow(edge(imbinarize(img), 'Sobel'));
subplot(2, 3, 4); imshow(edge(imbinarize(img), 'Prewitt'));
subplot(2, 3, 5); imshow(edge(imbinarize(img), 'Roberts'));
subplot(2, 3, 6); imshow(edge(imbinarize(img), 'log'));

  4 Comments

Show 1 older comment
Shahrin Islam
Shahrin Islam on 28 Jul 2018
Can you help me with following code.
[ha, pos] = tight_subplot(3,2,[.01 .03],[.1 .01],[.01 .01])
for ii = 1:6
axes(ha(ii));
plot(randn(10,ii));
end
set(ha(1:4),'XTickLabel','');
set(ha,'YTickLabel','');
Guillaume
Guillaume on 29 Jul 2018
"Can you help me with following code."
Looks fine as it is. In order to help we would first need to know what problem you have with it.
PS: I've formatted your post for you. Follow Image Analyst's link to learn how to do that as I won't keep doing it for you.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by