matlab中的imwrite_medfilt2函数

matlab中的imwrite_medfilt2函数1.imwrite函数imwrite函数的作用是将图像写入图形文件。2.语法imwrite(A,filename)imwrite(A,map,filename)imwrite(___,fmt)imwrite(___,Name,Value)(1)imwrite(A,filename)将图像数据A写入filename指定的文件,并从扩展名推断出文件格式。imwrite在当前文件夹中创建新文件。输出图像的位深度取决于A的数据类型和文件格式。对于大多数格式来说: 如果……

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

目录

语法

说明

示例

将灰度图像写入 PNG

将索引图像数据写入 PNG

用 MATLAB 颜色图写入索引图像

将真彩色图像写入 JPEG

将多个图像写入 TIFF 文件

写入 GIF 动画


        imwrite函数的作用是将图像写入图形文件。

语法

imwrite(A,filename)
imwrite(A,map,filename)
imwrite(___,fmt)
imwrite(___,Name,Value)

说明

imwrite(A,filename) 将图像数据 A 写入filename指定的文件,并从扩展名推断出文件格式。imwrite 在当前文件夹中创建新文件。输出图像的位深度取决于A的数据类型和文件格式。对于大多数格式来说:

  • 如果 A 属于数据类型uint8,则imwrite输出 8 位值。

  • 如果 A 属于数据类型uint16且输出文件格式支持 16 位数据(JPEG、PNG 和 TIFF),则imwrite将输出 16 位的值。如果输出文件格式不支持16位数据,则imwrite返回错误。

  • 如果 A 是灰度图像或者属于数据类型 double 或 single 的 RGB 彩色图像,则imwrite假设动态范围是[0,1],并在将其作为8位值写入文件之前自动按255缩放数据。如果A中的数据是single,则在将其写入 GIF 或 TIFF 文件之前将 A 转换为 double。

  • 如果 A 属于 logical 数据类型,则 imwrite 会假定数据为二值图像并将数据写入位深度为 1 的文件(如果格式允许)。BMP、PNG 或 TIFF 格式以输入数组形式接受二值图像。

        如果 A 包含索引图像数据,则应另外指定 map 输入参数。

imwrite(A,map,filename) 将 A 中的索引图像及其关联的颜色图写入由 map filename 指定的文件。

  • 如果 A 是属于数据类型 double 或 single 的索引图片,则 imwrite通过从每个元素中减去1来将索引转换为从0开始的索引,然后以uint8形式写入数据。如果A中的数据是single,则在将其写入GIF或 TIFF 文件之前将A转换为double。

imwrite(___,fmt) 以 fmt 指定的格式写入图像,无论filename中的文件扩展名如何。可以在任何先前语法的输入参数之后指定 fmt。

​imwrite(___,Name,Value) 使用一个或多个名称-值对组参数,以指定 GIF、HDF、JPEG、PBM、PGM、PNG、PPM 和 TIFF 文件输出的其他参数。可以在任何先前语法的输入参数之后指定 Name,Value。

示例

将灰度图像写入 PNG

        将一个 100×100 的灰度值数组写入当前文件夹中的 PNG 文件。

A = rand(100);
imwrite(A,'myGray.png')

将索引图像数据写入 PNG

        将索引图像数组和其关联的颜色图写入 PNG 文件。从文件clown.mat中加载示例图像数据。

load clown.mat

        图像数组X和其关联颜色图map均加载至 MATLAB® 工作区。将数据写入新的 PNG 文件。

imwrite(X,map,'myclown.png')

        imwrite 在当前文件夹中创建文件 myclown.png。在 MATLAB 之外打开新文件来查看新建的文件。

matlab中的imwrite_medfilt2函数

用 MATLAB 颜色图写入索引图像

        用 MATLAB 内置的颜色图 copper 将图像数据写入新的 PNG 文件。从文件 clown.mat 中加载示例图像数据。

load clown.mat

        图像数组 X 和其关联颜色图 map 均加载至 MATLAB 工作区。map 是一个 81 RGB 向量矩阵。用 81 RGB 向量定义铜色调颜色图。然后,使用这个新的颜色图将图像数据写入 PNG 文件。

newmap = copper(81);
imwrite(X,newmap,'copperclown.png');

        imwrite在当前文件夹中创建文件copperclown.png。在 MATLAB 之外打开新文件来查看新建的文件。

matlab中的imwrite_medfilt2函数

将真彩色图像写入 JPEG

        创建真彩色图像数据并将其写入 JPEG 文件。创建一个随机 RGB 值的 49×49×3 数组。

A = rand(49,49);
A(:,:,2) = rand(49,49);
A(:,:,3) = rand(49,49);

        将图像数据写入 JPEG 文件,并用 ‘jpg’ 指定输出格式。使用 ‘Comment’ 名称-值对组参数添加文件注释。

imwrite(A,'newImage.jpg','jpg','Comment','My JPEG file')

        查看有关新文件的信息。

imfinfo('newImage.jpg')
ans = 

           Filename: 'S:\newImage.jpg'
        FileModDate: '25-Jan-2013 16:18:41'
           FileSize: 2339
             Format: 'jpg'
      FormatVersion: ''
              Width: 49
             Height: 49
           BitDepth: 24
          ColorType: 'truecolor'
    FormatSignature: ''
    NumberOfSamples: 3
       CodingMethod: 'Huffman'
      CodingProcess: 'Sequential'
            Comment: {'My JPEG file'}

将多个图像写入 TIFF 文件

        将多个图像写入一个多页 TIFF 文件。创建两个随机图像数据集 im1 和 im2。

im1 = rand(50,40,3);
im2 = rand(50,50,3);

        将第一个图像写入新的 TIFF 文件。然后将第二个图像添加至同一文件。

imwrite(im1,'myMultipageFile.tif')
imwrite(im2,'myMultipageFile.tif','WriteMode','append')

写入 GIF 动画

        绘制一系列图、将它们捕获为图像,然后写入 GIF 动画文件。绘制 $y = x^{n}$,其中 $n = 3$

x = 0:0.01:1;
n = 3;
y = x.^n;
plot(x,y,'LineWidth',3)
title(['y = x^n,  n = ' num2str(n) ])

matlab中的imwrite_medfilt2函数

        捕获 $n$ 值递增时的一系列绘图。

n = 1:0.5:5;
nImages = length(n);

fig = figure;
for idx = 1:nImages
    y = x.^n(idx);
    plot(x,y,'LineWidth',3)
    title(['y = x^n,  n = ' num2str( n(idx)) ])
    drawnow
    frame = getframe(fig);
    im{idx} = frame2im(frame);
end
close;

        将多个系列的图像显示在一个图窗中。

figure;
for idx = 1:nImages
    subplot(3,3,idx)
    imshow(im{idx});
end

matlab中的imwrite_medfilt2函数

        将九个图像保存到一个 GIF 文件中。因为 GIF 文件不支持三维数据,所以应调用rgb2ind,使用颜色图map将图像中的 RGB 数据转换为索引图像A。要将多个图像添加到第一个图像中,请使用名称-值对组参数 ‘WriteMode’,’append’ 调用 imwrite。

filename = 'testAnimated.gif'; % Specify the output file name
for idx = 1:nImages
    [A,map] = rgb2ind(im{idx},256);
    if idx == 1
        imwrite(A,map,filename,'gif','LoopCount',Inf,'DelayTime',1);
    else
        imwrite(A,map,filename,'gif','WriteMode','append','DelayTime',1);
    end
end

        imwrite将 GIF 文件写入当前文件夹。名称-值对组 ‘LoopCount’,Inf 使动画连续循环。’DelayTime’,1 在每个动画图像显示之间指定了一秒的时滞。

A – 图像数据

        图像数据,指定为满(非稀疏)矩阵。

  • 对灰度图像而言,A 可以是 m×n。

  • 对索引图像而言,A 可以是 m×n。指定 map 输入参数中的相关颜色图。

  • 对真彩色图像而言,A 必须是 m×n×3 的矩阵。imwrite 不支持将 RGB 图像写入 GIF 文件。

        对于 TIFF 文件而言,A 可以是 m×n×4 数组,其中包含使用 CMYK 颜色空间的颜色数据。对于多帧 GIF 文件而言,A 可以是包含灰度图像或索引图像的 m×n×1×p 数组,其中 p 是写入帧的数量。这种情况不支持 RGB 图像。

filename – 输出文件名

        输出文件的名称,指定为字符向量或字符串标量。根据写入的位置,filename 可以采用以下形式之一。

位置

形式

当前文件夹

要写入当前文件夹,请在 filename 中指定文件名。filename 必须包含文件扩展名。

例如:’myImage.jpg’

其他文件夹

要写入不同于当前文件夹的文件夹,请在 filename 中指定完整或相对路径名称。

例如:’C:\myFolder\myImage.ext’

例如:’\imgDir\myImage.ext’

map – 索引图像的颜色图

        A中与索引图像数据相关联的颜色图,指定为 m×数组。map必须是有效的 MATLAB 颜色图。可以参考colormap以了解 MATLAB 内置颜色图列表。大多数图像文件格式都不支持条目数超过 256 个的颜色图。

fmt – 输出文件格式

        输出文件的格式,指定为下表中的格式之一。此表还概述了 imwrite 可写入的图像类型。MATLAB 文件格式注册表会确定支持哪些文件格式。对某些格式而言,imwrite 可以接受其他名称-值对组参数。

fmt 的值

输出文件格式

说明

‘bmp’

 

Windows® 位图 (BMP)

1 位、8 位和 24 位未压缩图像

‘gif’

GIF-图形交换格式

8 位图像

‘hdf’

HDF4-分层数据格式

 

带或不带关联颜色图的 8 位光栅图像数据集、24 位光栅图像数据集

‘jpg’ 或 ‘jpeg’

JPEG-联合图像专家组

8 位、12 位和 16 位基准 JPEG 图像

注意:imwrite 会先将索引图像转换为 RGB 图像,然后再将数据写入 JPEG 文件,因为 JPEG 格式不支持索引图像。

‘jp2’ 或 ‘jpx’

JPEG 2000-联合图像专家组

1 位、8 位 和 16 位 JPEG 2000 图像

‘pbm’

可移植位图(PBM)


 

任何 1 位 PBM 图像、ASCII(普通)或原始(二进制)编码

‘pcx’

Windows 画笔 (PCX)


 

8 位图像

‘pgm’


 

可移植灰度图(PGM)

任何标准 PGM 图像;使用任意颜色深度编码的 ASCII(普通)图像;每个灰度值最多使用 16 位编码的原始(二进制)图像

‘png’

PNG-可移植网络图形

1 位、2 位、4 位、8 位和 16 位灰度图像;带有 alpha 通道的 8 位和 16 位灰度图像;1 位、2 位、4 位和 8 位索引图像;24 位和 48 位真彩色图像;带有 alpha 通道的 24 位和 48 位真彩色图像

注意:imwrite 函数不支持写入颜色图条目不足的索引 PNG 文件。

‘pnm’

可移植任意图(PNG)

 

自动选择的 PPM/PGM/PBM 任意格式

‘ppm’


 

可移植像素图(PPM)

任何标准 PPM 图像:使用任意颜色深度编码的 ASCII(普通)图像,或每个颜色分量最多使用 16 位编码的原始(二进制)图像

‘ras’

Sun™光栅(RAS)

 

任何 RAS 图像,包括 1 位位图、8 位索引图像、带有 alpha 的 24 位真彩色图像和 32 位真彩色图像

‘tif’ 或 ‘tiff’

标记图像文件格式(TIFF)

 

基线 TIFF 图像,包括:

  • 1 位、8 位、16 位、24 位和 48 位未压缩的图像以及采用 Packbit 、LZW 或 Deflate 压缩的图像

  • 采用 CCITT 1D、Group 3 和 Group 4 压缩的 1 位图像

  • CIELAB、ICCLAB 和 CMYK 图像

‘xwd’

 

X 窗口转储 (XWD)

8 位 ZPixmaps

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185887.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 多态性_dna多态性的四个类型

    多态性_dna多态性的四个类型多态性的重要性:多态性是面向对象程序设计的一个强大机制:为名称相同的方法提供不同的实现方式,继承自同一基类的不同派生类可以为同名方法定义不同的功能,统一方法作用于不同类的对象,可以有不同的解释,产生

  • 计算机病毒级防范措施总结,计算机病毒及防范措施

    计算机病毒级防范措施总结,计算机病毒及防范措施计算机病毒及防范措施计算机病毒及防范措施摘要随着全球计算机用户的激增,随着带来的计算机病毒的危害力度也逐渐显现,迫切需要在防范计算机病毒方面加强研究。基于此,本文在全面总结了计算机病毒的内涵、分类以及计算机感染病毒的诸多现象的基础上,深入探讨了防范计算机病毒的具体可行性措施,以期为广大计算用用户安全使用计算机提供一些理论指导和参考。关键词:计算机;病毒;类型;防范;措施1计算机病毒的概念、分…

  • bind函数失败返回10049 的解决方案[通俗易懂]

    bind函数失败返回10049 的解决方案[通俗易懂]一般都是ip地址错误,不是局域网内的ip都能随便bind的,即使这个ip没人使用也不行。bind函数必须绑定本机ip地址,如果本机有多个ip地址,那么这些地址都可以bind,如果只有一个网卡和ip,那么就只能bind这个唯一的ip地址,或者127.0.0.1。或者直接用INADDR_ANY自动bind本机ip。…

  • bugfree安装教程_bugjaeger下载

    bugfree安装教程_bugjaeger下载bugfree3.0.2安装与配置配置环境os:win7/xpxampp版本:xampp-win32-1.7.7bugfree版本:v3.0.2xampp简介xampp是一款跨平台的集成

  • webservice有哪些框架_abp开发框架

    webservice有哪些框架_abp开发框架1、JWS是Java语言对WebService服务的一种实现,用来开发和发布服务。而从服务本身的角度来看JWS服务是没有语言界限的。但是Java语言为Java开发者提供便捷发布和调用WebService服务的一种途径。JavaSE6封装了JAX-WS(JavaAPIforXML-WebServices),而JAX-WS同时支持基于SOAP的Web服务和REST风格的Web服务。

  • [33]python Web 框架:Tornado

    [33]python Web 框架:Tornado1.TornadoTornado:python编写的web服务器兼web应用框架1.1.Tornado的优势轻量级web框架异步非阻塞IO处理方式出色的抗负载能力优异的处理性能,不依赖多进程/多线程,一定程度上解决C10K问题WSGI全栈替代产品,推荐同时使用其web框架和HTTP服务器1.2.TornadoVSDjang…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号