数字图像的基本运算

本文介绍了在Matlab中进行数字图像基本运算的方法,包括使用imresize函数进行图像缩放,imrotate函数实现图像旋转,并探讨了代数运算在图像处理中的应用。详细阐述了各函数的参数和工作原理,如不同插值方法的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数字图像的基本运算

实验任务

  • 用数字运算符合实现图像的加减乘运算。
  • 用IPT函数实现图像的加减乘运算。
  • 实现图像的缩放。
  • 实现图像的旋转。

设计函数

imresize

  • 功能 :改变图像的大小。
  • 函数原型 :
    • B = imresize(A,m)
    • B = imresize(A,m,method)
    • B = imresize(A,[mrows ncols],method)
  • PS :
    • mrersize函数使用由参数method指定的插值运算来改变图像的大小。
    • method的几种可选值:
      • ’nearest’(默认值)最近邻插值
      • ‘bilinear’双线性插值
      • ‘bicubic’双三次插值
    • B = imresize(A,m)表示把图像A放大m倍
    • B = imresize(…,method,h)中的h可以是任意一个FIR滤波器(h通常由函数ftrans2、fwind1、fwind2、或fsamp2等生成的二维FIR滤波器)。

imrotate

  • 功能 :对图像进行旋转操作。
  • 函数原型 :
    • B = imrotate(A,angle)
    • B = imrotate(A,angle,method)
    • B = imrotate(A,angle,method,bbox)
  • PS :
    • B = imrotate(A,angle)
      • 将图像A(图像的数据矩阵)绕图像的中心点旋转angle度, 正数表示逆时针旋转, 负数表示顺时针旋转。返回旋转后的图像矩阵。
    • B = imrotate(A,angle,method)
      • 使用method参数可以改变插值算法,method参数可以为下面这三个值:
        • ’nearest’:最邻近线性插值(Nearest-neighbor interpolation)
        • ‘bilinear’: 双线性插值(Bilinear interpolation)
        • ‘bicubic’: 双三次插值(或叫做双立方插值)(Bicubic interpolation)
    • B = imrotate(A,angle,method,bbox)
      • bbox参数用于指定输出图像属性:
        • ’crop’: 通过对旋转后的图像B进行裁剪, 保持旋转后输出图像B的尺寸和输入图像A的尺寸一样。
        • ‘loose’: 使输出图像足够大, 以保证源图像旋转后超出图像尺寸范围的像素值没有丢失。 一般这种格式产生的图像的尺寸都要大于源图像的尺寸。

代数运算函数

函数名功能描述
Imabsdiff两幅图像的绝对差值
Imadd两幅图像的加法
Imlincomb计算两幅图像的线性组合
Immultiply两幅图像的乘法
Imsubtract两幅图像的减法

源代码

...读取图片
f = imread('./test.TIF');
g = imread('./test.tif');

...info=imfinfo('./logo.tif');

...转化为二进制,即灰度图
f = rgb2gray(f);
g = rgb2gray(g);

...初始化,即相同长度的数组
[M, N] = size(g);
f2g = imresize(f ,[M,N] ,'nearest');

...减法
fg = f2g - g;
imshow(fg);
f_g = imsubtract(f2g,g);
imshow(f_g);

...加法
fg = f2g + g;
imshow(fg);
f_g = Imadd(f2g,g);
imshow(f_g);    


...乘法  
fg = f2g * g;
imshow(fg);
f_g = Immultiply(f2g,g);
imshow(f_g);

...旋转
f_g = imrotate(A,angle,method)
imshow(f_g);

后语

imshow()函数只能显示最后一次调用,当有很多imshow()被调用时。图像的运算有两种方法。一种为符号运算,一种为函数方法,不过效果是一样的。同时要注意,图像纬度的问题。只有三维的BRG图像才能用rgb2gray变为灰度图像。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值