如何利用Matlab将.jpg变成logo-将图片白色去掉(变透明)
近期在制作海报,需要贴上不同的logo,有些logo文件可以直接贴进去,但有些则会伴有白色的背景,如下:
这样会造成一种非常不好协调感。
在网上搜了下,发现利用AI将jpg制作成logo是可行的,然而却仍然十分麻烦,如果仅仅是去掉白色背景的话,那样做显得过于冗余,因此结合所学知识以及发现,总结出了下面这种方法-Matlab大法。
废话不多说,直接贴出代码:
Im_name = ['xx.jpg']; % xx是你的文件名,后缀可以是.jpg也可以是其他形式的文件
for k = 1:size(Im_name,1)
I=imread(Im_name(k,:));
% imshow(I);
alpha = ones(size(I,1),size(I,2));
for i = 1 : size(I,1)
for j = 1 :size(I,2)
if I(i,j,1) > 200 && I(i,j,2) > 200 && I(i,j,3) > 200 %这个判断主要是为了去掉一些不是纯白的部分
alpha(i,j) = 0;
end
end
end
imwrite(I,'XX.png','Alpha',alpha);%最后保存成,png或者其他格式的文件都可以
end
代码区都有注释,就不多说了,直接看效果:
感谢大家关注,我将继续给您带来新学新用!
祝好
内容转自:www.hkevin.top