MATLAB图像处理学习——图像的像素运算

目录

1.概述

2.实例

(1)图像点运算

1.线性灰度变换

 2.分段线性灰度变换

3.非线性灰度变换

(2)图像代数运算

1.图像加法运算

 2.图像的减法运算

 3.图像的乘法运算

4.图像的除法运算

5.其他的一些图像代数运算函数

(3)图像逻辑运算


1.概述

在matlab当中,图像是以矩阵形式存放的,矩阵的每一个元素就是像素值,所以对图像进行运算就是对矩阵的运算。(包括点运算、图像的加减乘除运算及图像的逻辑运算或与非)

2.实例

(1)图像点运算

点运算又称为对比度增强、对比度拉伸或灰度变换,是对图像中每个灰度值进行运算的图像处理方式。

1.线性灰度变换

假定原图像A(x,y)的灰度变换范围为[a,b],处理后的图像B(x,y)的灰度扩展为[c,d],线性灰度变换运算的数学表达式为:

B(x,y)=[(d-c)/(b-a)][A(x,y)-a]+c

可以通过函数imadjust()对图像进行线性灰度变换。

实例代码:

close all;clear all;clc;
gamma=0.5;
I=imread('D:\resource_photo\2.jpg');
R=I;
R(:,:,2)=0;
R(:,:,3)=0; %将原图像变成单色图像,保留红色
R1=imadjust(R,[0.5 0.8],[0 1],gamma);%利用函数imadjust()调整R的灰度值
G=I;
G(:,:,1)=0;
G(:,:,3)=0; %将原图像变成单色图像,保留绿色
G1=imadjust(G,[0 0.3],[0 1],gamma);
B=I;
B(:,:,1)=0;
B(:,:,2)=0; %将原图像变成单色图像,保留蓝色
B1=imadjust(B,[0 0.3],[0 1],gamma);

I1=R1+G1+B1;
figure;
subplot(121),imshow(R);
subplot(122),imshow(R1);
figure;
subplot(121),imshow(G);
subplot(122),imshow(G1);
figure;
subplot(121),imshow(B);
subplot(122),imshow(B1);
figure;
subplot(121),imshow(I);
subplot(122),imshow(I1);

运行结果:

 2.分段线性灰度变换

分段线性灰度变换可以对图像的细节进行灰度拉伸、对比度增强。

实例代码:

close all;clear all;clc;
R=imread('D:\resource_photo\2.jpg');
J=rgb2gray(R);
[M,N]=size(J);
x=1;y=1;
for x=1:M %对图像J进行分段运算
    for y=1:N
        if (J(x,y)<=35);
            H(x,y)=J(x,y)*10;
        elseif(J(x,y)>35&&J(x,y)<=75);
            H(x,y)=(10/7)*[J(x,y)-5]+50;
        else(J(x,y)>75);
            H(x,y)=(105/180)*[J(x,y)-75]+150;
        end
    end
end
figure;
subplot(121),imshow(J);
subplot(122),imshow(H);

运行结果:

 (通过行列索引变量x和y,分别读取原灰度图像中每个像

  • 15
    点赞
  • 127
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值