How to remove white border from image?

4 visualizzazioni (ultimi 30 giorni)
% 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');

Risposta accettata

Image Analyst
Image Analyst il 25 Lug 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 Commento
mark palmer
mark palmer il 25 Lug 2020
Modificato: mark palmer il 25 Lug 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);

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by