广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    在matlab中改变图像、补丁或表面的透明度

    来源:网络收集  点击:  时间:2024-03-14
    【导读】:
    这个例子展示了如何修改图像,补丁和表面的透明度。工具/原料more电脑matlab软件方法/步骤1/14分步阅读

    轴中所有对象的透明度

    透明值称为alpha值。

    使用alpha函数为当前轴中的所有图像、补丁和曲面对象设置透明度。

    指定介于0(完全透明)和1(完全不透明)之间的透明度值。

    命令行键入:

    t = 0:0.1:2*pi;

    x = sin(t);

    y = cos(t);

    figure

    patch(x,y,r) % make a red circular patch

    patch(x+0.8,y,g) % make a green circular path

    patch(x+0.4,y+0.8,b) % make a blue circular path

    axis square tight % set axis to square

    alpha(0.3) % set all patches transparency to 0.3

    2/14

    按“Enter键。

    如图1所示。

    3/14

    个别表面的透明度

    一个曲面的透明度是由它的AlphaData属性定义的。

    将alpha数据设置为标量值或值矩阵,指定曲面的每个顶点的透明度。

    FaceAlpha属性指示了如何通过顶点透明度来确定曲面的透明度。

    命令行键入:

    = peaks(20);

    s2 = surf(X,Y,Z);

    s2.AlphaData = gradient(Z); % set vertex transparencies

    s2.FaceAlpha = flat;

    4/14

    按“Enter键。

    如图2所示。

    5/14

    单个图像的透明度

    与曲面一样,图像的透明度也是由其AlphaData属性定义的。

    对于图像,将alpha数据设置为标量值或值矩阵,指定图像数据中每个元素的透明度。

    例如,使用透明度来复盖两个图像。

    首先,显示地球的图像。

    命令行键入:

    earth = imread(landOcean.jpg);

    image(earth) % display Earth image

    axis image

    6/14

    按“Enter键。

    如图3所示。

    7/14

    然后,添加一个云层到地球的图像使用透明度。

    命令行键入:

    clouds = imread(cloudCombined.jpg);

    image(earth)

    axis image

    hold on

    im = image(clouds);

    im.AlphaData = max(clouds,,3); % set transparency to maximum cloud value

    hold off

    8/14

    按“Enter键。

    如图4所示。

    9/14

    个别补丁的透明度

    一个补丁的透明度是由它的脸型和脸型属性定义的。

    对于整个补丁中的持续透明性,将FaceVertexAlphaData设置为0(完全透明)和1(完全不透明)之间的常量,并将FaceAlpha属性设置为“平坦”。

    命令行键入:

    cla

    p1 = patch(x,y,r); % make a red circular patch

    axis square tight % set axis to square

    p1.FaceVertexAlphaData = 0.2; % Set constant transparency

    p1.FaceAlpha = flat ; % Interpolate to find face transparency

    10/14

    按“Enter键。

    如图5所示。

    11/14

    对于在补丁中变化的透明性,将FaceVertexAlphaData设置为值矩阵,指定补丁的每个顶点或每个面的透明性。

    然后,FaceAlpha属性指示如何使用FaceVertexAlphaData来确定人脸透明度。

    如果指定了顶点的alpha数据,则FaceAlpha必须设置为“interp”。

    命令行键入:

    p1.FaceVertexAlphaData = x; % Set vertex transparency to x values

    p1.FaceAlpha = interp ; % Interpolate to find face transparency

    12/14

    按“Enter键。

    如图6所示。

    13/14

    透明度与纹理映射

    纹理映射将二维图像映射到三维表面。

    通过将CData属性设置为图像数据并将FaceColor属性设置为“纹理贴图”,可以将图像映射到曲面。

    这个例子创建了一个地球和云的三维视图。

    它创建球形表面,并使用纹理映射将地球和云的图像映射到表面上。

    命令行键入:

    = sphere(50); % generate coordinates for a 50 x 50 sphere

    cla

    sEarth = surface(py, px ,flip(pz));

    sEarth.FaceColor = texturemap; % set color to texture mapping

    sEarth.EdgeColor = none; % remove surface edge color

    sEarth.CData = earth; % set color data

    hold on

    sCloud = surface(px*1.02,py*1.02,flip(pz)*1.02);

    sCloud.FaceColor = texturemap; % set color to texture mapping

    sCloud.EdgeColor = none; % remove surface edge color

    sCloud.CData = clouds; % set color data

    sCloud.FaceAlpha = texturemap; % set transparency to texture mapping

    sCloud.AlphaData = max(clouds,,3); % set transparency data

    hold off

    view() % specify viewpoint

    daspect() % set aspect ratio

    axis off tight % remove axis and set limits to data range

    14/14

    按“Enter键。

    如图7所示。

    MATLAB
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_351942.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-07 03:55:48  耗时:0.029
    0.0289s