zoukankan      html  css  js  c++  java
  • 图像的代数运算

    图像的代数运算是两幅输入图像之间进行的点对点的加、减、乘、除运算后得到输出图像的过程。

    一、图像的加法运算

    图像相加一般用于对同一场景的多幅图像求平均效果,以便有效地降低具有叠加性质的随机噪声。

    代码如下:

    clear all;
    close all;
    I1 = imread('flower1.jpg');
    I2 = imread('flower2.jpg');
    I3 = imadd(I1, I2);                                             %图像的加法运算   
    subplot(2, 2, 1), imshow(I1), title('原始图像1');
    subplot(2, 2, 2), imshow(I2), title('原始图像2');
    subplot(2, 2, 3), imshow(I3), title('处理后的图象');
    

    处理后的图像显示如下:

     两幅图像的像素值相加时,产生的结果很可能超过图像数据类型所支持的最大值,尤其对于uint8类型的图像,溢出的情况最为常见。当数据值发生溢出时,imadd函数将数据截取为数据类型所支持的最大值,这种截取效果称之为饱和。为了避免出现饱和现象,在进行加法计算前,最好将图像转换为一种数据范围较宽的数据类型。

    二、图像的减法运算

    图像减法也称为差分方法,是一种常用于检测图像变化及运动物体的图像处理方法。

    代码如下

    clear all;
    close all;
    rice = imread('rice.jpg');
    background = imerode(rice, strel('disk', 15));                      %生成背景亮度图像
    rice2 = imsubtract(rice, background);
    subplot(1, 2, 1), imshow(rice), title('原始图像');
    subplot(1, 2, 2), imshow(rice2), title('处理后的图像');
    

     处理后的图象显示如下:

    三、图像的乘法运算

     两幅图像进行乘法运算可以实现掩模操作,即屏蔽掉图像的某些部分。一幅图像乘以一个常数通常被称为缩放,这是一种常见的图象处理操作。缩放通常将产生比简单添加像素偏移量自然得多的明暗效果,这是因为这种操作能够更好的维持图像的相关对比度。

    代码如下:

    clear all;
    close all;
    moon = imread('moon.jpg');
    moon2 = immultiply(moon, 2);
    subplot(1, 2, 1), imshow(moon), title('原始图像');
    subplot(1, 2, 2), imshow(moon2), title('处理后的图像');
    

    处理后的图像显示如下:

    四、图像的除法运算

     除法运算可用于校正成像设备的非线性影响,这在特殊形态的图象(如断层扫描等医学图像)处理中常常用到。图像除法也可以用来检测两幅图像间的区别,但是除法操作给出的是相应像素值的变化比率,而不是每个像素的绝对差异,因而图像除法也成为比率变换。

    代码如下:

    clear all;
    close all;
    I = imread('rice.jpg');
    I2 = double(I);
    J = double(I2 * 0.43 + 90);
    K = imdivide(I2, J);
    subplot(1, 2, 1), imshow(I), title('I');
    subplot(1, 2, 2), imshow(K), title('K');
    

    处理后的图像显示如下:

  • 相关阅读:
    Selenium自动化Chrome浏览器 在windows下窗口最大化
    Linux下的压缩解压缩命令详解及实例
    Windows下及Mac下的IntelliJ IDEA快捷键
    Missing artifact com.oracle:ojdbc6:jar:10.2.0.4.0问题解决 ojdbc包pom.xml出错
    使用cmd命令进行导入
    导入dmp文件时,需要删除原有ORACLE数据库实例
    HTML编码规范、CSS编码规范
    javascript函数与表达式
    JS中闭包、函数与对象的介绍和用法
    JS中typeof和instanceof用法区别
  • 原文地址:https://www.cnblogs.com/minisculestep/p/4858972.html
Copyright © 2011-2022 走看看