数学函数图像处理_matlab基本图像处理

数学函数图像处理_matlab基本图像处理文章目录1.imdilate2.imresize3.imfinfo4.imcomplement总结1.imdilate功能:进行膨胀操作介绍用法:IM2=imdilate(IM,SE)对灰度图像或二值图像IM进行膨胀操作,返回结果图像IM2。SE为由strel函数生成的结构元素对象。IM2=imdilate(IM,NHOOD)对灰度图像或二值图像IM进行膨胀操作,返回结果图像IM2。参量NHOOD是一个由O和1组成的矩阵,指定邻域。IM2=imdilate(…,SHAPE)对图

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

Jetbrains全系列IDE稳定放心使用

1.imdilate

功能: 进行膨胀操作介绍
用法:

  • IM2 = imdilate(IM,SE)对灰度图像或二值图像IM进行膨胀操
    作,返回结果图像IM2。SE为由strel函数生成的结构元素对象。
  • IM2 = imdilate(IM,NHOOD)对灰度图像或二值图像IM进行膨
    胀操作,返回结果图像IM2。参量NHOOD是一个由O和1组成的矩阵,指定邻域。
  • IM2 =imdilate(…,SHAPE)对图像进行膨胀操作。字符串参量
    SHAPE指定输出图像的大小,取值为same(输出图像跟输入图像大小相同)或full ( imdilate对输入图像进行全膨胀,输出图像比输入图像大)。

IM2 = imdilate(IM,SE)代码示例:

BW1 = imread('text.png');
subplot(121);imshow(BW1);
se = strel('line',11,90);
BW2 = imdilate(BW1,se);
subplot(122);imshow(BW2);

结果显示:
在这里插入图片描述
IM2 = imdilate(IM,NHOOD)代码示例:

BW1 = imread('text.png');
subplot(121);imshow(BW1);
NHOOD = [0 0 0;1 0 0;1 1 1];
BW2 = imdilate(BW1,NHOOD);
subplot(122);imshow(BW2);

结果显示:.
在这里插入图片描述

IM2 =imdilate(…,SHAPE)代码示例:

BW1 = imread('text.png');
subplot(121);imshow(BW1);
NHOOD = [0 0 0;1 0 0;1 1 1];
BW2 = imdilate(BW1,NHOOD,'full');
subplot(122);imshow(BW2);

结果显示:
在这里插入图片描述

在这里插入图片描述

2.imresize

功能: 对图像进行成比例放大或缩小
介绍:

  • imresize(A, scale)返回原图像A的scale倍大小的图像B。原图像A可以为灰度图像、RGB图像或二值图像。如果scale在0和1.0之间,则B比A小;如果scale大于1.0,则B比A大。
  • B=imresize(A, [mrows ncols])对原图像A进行比例缩放,返回图像B的行数mrows和列数ncols。如果mrows或ncols为NaN,则表明Matlab自动调整了图像的缩放比例。
  • [Y newmap] = imresize(X, map, scale)对索引图像X进行成比例放大或缩小。参量map为一列数为3的矩阵,表示颜色表。scale可以为比例因子(标量)或是指定输出图像天小([numrows numcols])的向量。
  • […]=imresize(…, method)字符串参量method指定图像缩
    放插值方法:nearest(最近邻插值)、 bilinear(双线性插值、bicubic(双立方插值),默认为nearest。

imresize(A, scale)代码示例:

I = imread('rice.png');
imshow(I);
B = imresize(I,0.4);
figure;imshow(B);

结果显示:
在这里插入图片描述
B=imresize(A, [mrows ncols])代码示例:

I = imread('rice.png');
imshow(I);
B = imresize(I,[200 200]);
figure;imshow(B);

结果显示:
在这里插入图片描述
[Y newmap] = imresize(X, map, scale)代码示例:

load trees;
[y newmap] = imresize(X,map,0.2);

结果显示:
在这里插入图片描述
[…]=imresize(…, method)代码示例:

load trees;
[y newmap] = imresize(X,map,0.2,'bicubic');

结果显示:
在这里插入图片描述

3.imfinfo

功能: imfinfo-返回图形文件信息介绍:
用法:

  • info = imfinfo(filename,fmt)返回指定的图像文件的信息。字符串参量filename表示图像文件名。字符串参量fmt为图像文件类型。
  • info = imfinfo(filename)返回指定的图像文件filename的信息。
  • info =imfino(URL…))返回网上指定的图像的信息,字符串参量URL为网址(包括协议类型,如http:/l ) 。

代码如下(示例):

info = imfinfo('text.png');
disp(info);

运行结果:
在这里插入图片描述

其中,FileSize以字节为单位。通过简单地使用width乘以Height,再乘以BitDepth,然后将结果除以8,就可以计算出原图像中的字节数。用这个结果除以Filesize就可以得到压缩比:。这一压缩比是在保持图像质量与应用要求一致的前提下得到的。除了在存储空间方面有明显的优势之外,这种压缩还可使得单位时间内传输的数据量大约是压缩前的35倍。


K = imfinfo('text.png');

可将由命令imfinfo产生的所有信息存入变量K。由imfinfo产生的信息附加到了形式为K域的结构变量中。例如,图像的高度和宽度现在存储在结构域K.Height与K.width中。下面我们通过计算图像text.png的压缩比来考虑使用结构变量K的一个示例:
代码如下(示例):

K = imfinfo('text.png');
image_bytes = K.Width* K.Height* K.BitDepth/8;
compressed_bytes = K.FileSize;
compression_ratio = image_bytes/compressed_bytes

运行结果:
在这里插入图片描述

4.imcomplement

功能: 图像求补介绍:
用法:

  • IM2= imcomplement(IM)对图像IM进行求补运算。IM可以是二值图像、灰度图像或RGB图像。

代码如下(示例):

IM1 = imread('text.png');
subplot(121);imshow(IM1);
IM2 = imcomplement(IM1);
subplot(122);imshow(IM2);

运行结果:
在这里插入图片描述

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185837.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 近两万字小程序攻略发布了

    近两万字小程序攻略发布了

    2021年6月12日
    133
  • 负数的二进制表示方法「建议收藏」

    负数的二进制表示方法「建议收藏」负数的二进制表示方法假设有一个int类型的数,值为3,那么,我们知道它在计算机中表示为:00000000000000000000000000000011因为int类型的数占用4字节(32位),所以前面填了一堆0。在计算机中,负数以其正值的补码形式表达。什么叫补码呢?这得先从原码,反码说起。原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。比如

    2025年6月5日
    0
  • 线性链表 java实现「建议收藏」

    线性链表 java实现「建议收藏」publicclassLinkList{ classNode{//定义Node节点 privateTdata; privateNodenext; publicNode(){} publicNode(Tdata,Nodenext){ this.data=data; this.next=next; } } privateNodehea

    2025年5月28日
    0
  • JAVA JVM 优化「建议收藏」

    JAVA JVM 优化「建议收藏」现在多核CPU是主流。利用多核技术,可以有效发挥硬件的能力,提升吞吐量,对于Java程序,可以实现并发垃圾收集。但是Java利用多核技术也带来了一些问题,主要是多线程共享内存引起了。目前内存和CPU之间的带宽是一个主要瓶颈,每个核可以独享一部分高速缓存,可以提高性能。JVM是利用操作系统的”轻量级进程”实现线程,所以线程每操作一次共享内存,都无法在高速缓存中命中,是一次开销较大的

    2022年5月26日
    37
  • java运算中的取余

    java运算中的取余java中的取模(取余)在java运算中有时会出现对一个整数取模(取余)操作,首先复习一下小学学过的除法公式:除数÷被除数=商如果没有被整数就会出现余数,例:10÷3=3余数为1在java运算中,取余符号是%1、第一种情况一个大的整数对一个比它小的整数取余publicstaticvoidmain(String[]args){in…

    2022年6月1日
    135
  • ORA-01102的解决办法

    ORA-01102的解决办法

    2021年5月27日
    112

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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