如何利用Matlab将.jpg变成logo-将图片白色去掉(变透明)

    近期在制作海报,需要贴上不同的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

原文地址:https://www.cnblogs.com/hkevin/p/5510056.html