How can I show 10 pixels width in all directions for an image?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Walter Roberson
2021-6-2
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)
更多回答(1 个)
Adam Danz
2021-6-1
编辑:Adam Danz
2021-6-2
> 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 个评论
Adam Danz
2021-6-2
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?"
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!