How to remove white border from image?

4 Ansichten (letzte 30 Tage)
mark palmer
mark palmer am 25 Jul. 2020
Bearbeitet: mark palmer am 25 Jul. 2020
% This draws a small transparent white square in upper left hand side of the group image.
% How do I remove white border of the gcf, and preserve original dimensions of E at 72ppi in saved file?
% BORDER TIGHT seems to have no effect.
clear all
E = imread('visionteam.jpg');
hold on
h1 = imshow(E,'Border','tight')
I = 255 - uint8(zeros(100, 100, 3));
h2 = imshow(I,'Border','tight')
set(h2, 'AlphaData', .35)
hold off
print(gcf,'im','-dtiff','-r72');

Akzeptierte Antwort

Image Analyst
Image Analyst am 25 Jul. 2020
Try this:
rgbImage = imread('visionteam.jpg');
hold on
imshow(rgbImage,'Border','tight')
whiteSquare = 255 * ones(100, 100, 'uint8');
rgbImage(1:100, 1:100, 1) = whiteSquare; % Load into red channel.
rgbImage(1:100, 1:100, 2) = whiteSquare; % Load into red channel.
rgbImage(1:100, 1:100, 3) = whiteSquare; % Load into red channel.
imshow(rgbImage)
% imwrite(rgbImage, filename); % Save to disk if you want.
  1 Kommentar
mark palmer
mark palmer am 25 Jul. 2020
Bearbeitet: mark palmer am 25 Jul. 2020
Thanks! The border is gone, but I need the white square to be transparent.
EDIT:: I think I got it, thanks again.
rgbImage(1:100, 1:100, :) = imadd(rgbImage(1:100, 1:100, :)*.75,whiteSquare*.25);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by