图片透明处理的方法

版权声明:本文为博主原创文章,未经博主允许不得转载。

图片的透明性,由其属性‘Alpha’ 决定,所以改变图像的‘Alpha‘值则改变透明度
Alpha为与图像分辨率相同大小的矩阵,0为透明,1为不透明。保存图片时,如要保存为
透明图片,须保存为png格式,保存代码为:imwrite(I,‘图像名.png‘,‘Alpha‘,alpha)

举例:一张字图片,背景为白色,字为黑色,现在将其处理后,输出为字为红色,背景为透明的图片。
MATLAB实现的代码如下:
%字变为红色,背景变为白色,保存背景为透明的图片

I=imread(fname1);
mask=rgb2gray(I);
mask1=im2bw(mask);
mask1=~mask1;
y = sum(mask1,2);
indices = find(y>0);
y_up = indices(1);
y_down = indices(end);
x = sum(mask1,1);
indices1 = find(x>0);
x_up = indices1(1);
x_down = indices1(end);
BW=I(y_up:y_down,x_up:x_down);
figure;imshow(BW);
imwrite(BW, ‘F:\boss\HeartLungSegment_RadiographicIndexComputation\dtouming.png ‘,‘png‘);
[h,w]=size(BW);

ima=imadjust(mask); %调节灰度图像的亮度或彩色图像的颜色矩阵
bw=im2bw(ima); %二值化默认值是0.5
level=graythresh(mask); %使用最大类间方差法找到图片的一个合适的阈值
bw2=im2bw(ima,level);
bw4 =bwareaopen(bw3, 20);

bw5=~bw4;
R=I(y_up:y_down,x_up:x_down,1);%矩阵的拆分,所有行列的第1个值
G=I(y_up:y_down,x_up:x_down,2);
B=I(y_up:y_down,x_up:x_down,3);

rgb=cat(3,R,G,B); %构建矩阵,3为矩阵的维数
figure,imshow(rgb)
%透明度
siz=size(BW);
alpha=ones(siz(1),siz(2));
alpha(G==255)=0; %取背景部分0 0为透明
imwrite(rgb,‘透明.png‘,‘Alpha‘,alpha);

结果如下:

原图

处理后的图像

时间: 2024-09-30 10:02:15

图片透明处理的方法的相关文章

ie6背景透明的设置方法 ie6背景颜色透明和png图像透明解决方法

IE6浏览器,让我们又爱又恨.爱它的是,可以让我们写的代码的时候,可以更标准,恨的是,它有太多无厘头的IE6常见bug(详情点击),让我们焦头烂额.现在现在用百度浏览器调查,国内占有率不到6%了,但是,就怕碰到需要调兼容ie6的网站. 其中,一个IE6常见问题就是IE6透明背景问题了.透明背景主要分背景颜色透明和背景图片或者png图片透明问题. 一.IE6背景颜色透明 一般浏览器,给一个盒子透明背景写法是 :opacity: 0.5;   -moz-opacity: 0.5;-webkit-op

图片替换技术、雪碧图技术、图片透明技术、常用的电商布局方式

###雪碧图技术### !DOCTYPE html>     <html lang="en">     <head>     <meta charset="UTF-8">     <title>sprite雪碧图技术</title>         <style type="text/css">             div{                 widt

DISCUZ论坛添加页头及页尾背景图片的几种方法

先给大家分享页头添加背景图片的两种方法: 1. 第一种效果,是给discuz的整体框架添加背景图片,见图示: 添加方法如下:找到你现在使用模板common文件下的header.html文件,在<head></head>部分添加以下代码: <style>body { background-image:url(你的背景图片地址,如http://abc.com/imgs/bg.jpg); background-repeat:no-repeat; background-posi

ie6 png 透明的解决方法,大网站都在用

ie6 png 透明的解决方法,大网站都在用 作者: 来源: [大 中 小] 浏览:37122 添加日期:2012-11-30 我要评论(体感音乐)      今天解决png图片在IE6下的背景透明问题,找到了一个好方法.之前的解决方案会造成错位,使页面变形.现把这个方法公布如下,本人亲测可以正常使用,如果你在使用中出现问题,(体感音乐)请看实例中的说明(英文不精的童鞋可以用谷歌翻译哟) <!--[if lt IE 7]> <script type="text/javascri

VC++图片透明技术原理

透明效果 由于所有的图文件都是以矩形来储存的,我们也许会需要把一张易拉罐图片贴到窗口的背景图上,而这种情况下如果直接进行贴图,结果如下图: 这似乎不是我们想要的结果. 为了得到透明效果,我们需要运用到BitBlt()贴图函数以及其参数Raster的值来将图片中不必要的部分去掉(又称去背),使得图中的主题可以与背景完美融合. 制作透明效果有很多种方法,但是基本上都是利用贴图时不同的Raster运算,通过转换而产生相同的透明效果.在这里先来介绍一种透明运算的方法. 我们以图中的易拉罐为例子,首先准备

手机图片转换文字识别方法

手机图片转换文字识别方法 iPhone6这款设计图出自设计师卡萨巴-纳吉之手,而在他眼中的iPhone6应该朝着透明的方向靠拢.因而,他将该设备打造成了一款极薄.透明,且内置有可互动玻璃外观的"神机".据悉,设计图中的iPhone6拥有一个内置有LED灯的HOME键,只有在用户按下时才会亮起.而且,该手机还具备有全息投影功能,可以将手机画面投射到一块相对更宽的背景中.最炫酷的就是拍照技术,FaceTime 摄像头提供与 iSight 摄像头相同的曝光控制功能,想要调节照片或视频的明暗,

背景透明但文字不透明的实现方法(兼容所有浏览器)

实现透明的css方法 通常有以下3种方式,以下是不透明度都为80%的写法 1.css3的 opacity:x,x 的取值从 0 到 1,如opacity: 0.8 设置opacity元素的所有后代元素会随着一起具有透明性,一般用于调整图片或者模块的整体不透明度. 2.css3的 rgba(red, green, blue, alpha),alpha的取值从 0 到 1,如rgba(255,255,255,0.8) 设置颜色的不透明度,一般用于调整background-color.color.bo

ios图片拉伸两种方法

ios图片拉伸两种方法 UIImage *image = [UIImage imageNamed:@"qq"]; 第一种: // 左端盖宽度 NSInteger leftCapWidth = image.size.width * 0.5f; // 顶端盖高度 NSInteger topCapHeight = image.size.height * 0.5f; // 重新赋值 image = [image stretchableImageWithLeftCapWidth:leftCapW

纯win32实现PNG图片透明窗体

#include <windows.h> #include <gdiplus.h> /*  GDI+ startup token */ ULONG_PTR gdiplusStartupToken; /*  Declare Windows procedure  */ LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); // UpdateLayeredWindow Defination typedef BOOL(