How can I show 10 pixels width in all directions for an image?
1 view (last 30 days)
Show older comments
I am trying to find a block of the image, such as, the perimeter of the image, 10 pixels width in all directions. Can you please advise?
2 Comments
Accepted Answer
Walter Roberson
on 2 Jun 2021
img = imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/638445/download.jpg');
n = floor(size(img,2)/2);
leftb = imbinarize(rgb2gray(img(:,1:n,:)));
left = repmat(im2uint8(leftb), [1 1 size(img,3)]);
right = img(:,n+1:end,:);
newimg = [left,right];
imshow(newimg)
More Answers (1)
Adam Danz
on 1 Jun 2021
Edited: Adam Danz
on 2 Jun 2021
> want to display the same image below but half colored and half binary!
figure();
tiledlayout(1,3,'Padding','none','TileSpacing','tight')
rgb = imread('download.jpg');
nexttile()
imshow(rgb);
title('Original image')
nexttile()
imshow(rgb);
I = rgb2gray(rgb);
hold on
h = imshow(I);
[M,N] = size(I);
halfway = round(N/2);
alpha_data = [ones(M,halfway),false(M,N-halfway)];
set(h, 'AlphaData', alpha_data);
title('Half grayscale')
nexttile()
imshow(rgb);
BW = imbinarize(I);
hold on
h = imshow(BW);
[M,N] = size(I);
halfway = round(N/2);
alpha_data = [ones(M,halfway),false(M,N-halfway)];
set(h, 'AlphaData', alpha_data);
title('Half binary')
13 Comments
Adam Danz
on 2 Jun 2021
Your comment above is clear. If that image was shared from the beginning, it would have save lots and time and back-and-forth Q&A.
But I still don't know what that has to do with your original question, "How can I show 10 pixels width in all directions for an image?"
See Also
Categories
Find more on Convert Image Type in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!