数字图像处理之在matlab中做彩色图像的加减乘除
数字图像处理之在matlab中做彩色图像的加减乘除
图像与数做运算
clc; clear all;
A = imread(‘C:\Users\Administrator\Desktop\333.jpg’);
i = A - 66;
j = A + 36;
k = A*20;
l = A/5;
figure;
subplot(221),imshow(A);
subplot(223),imshow(i);
subplot(224),imshow(j);
figure;
subplot(221),imshow(A);
subplot(223),imshow(k);
subplot(224),imshow(l);
[注意每一次imshow之前都要有一句figure否则无法显示]
图片顺序分别为 原图;原图减去一个数;原图加上一个数
图片之间做运算
clc;
clear all;
A = imread(‘C:\Users\Administrator\Desktop\111.jpg’);
B = imread(‘C:\Users\Administrator\Desktop\222.jpg’);
两张图之间要做运算首先需要有相同分辨率,可以看到我们先将图片做了一个像素的统一化:
[注意这里的imresize,也可以用cat的方法(网络上有源代码),只要能把A图三个纬度的值分别赋给B的各个维度就可]
[a, b, c] = size(A);
B = imresize(B,[a, b,]);
分别对AB图像做了加 乘 除 减
i = imadd(A,B);
j = immultiply(A, B);
k = imdivide(A,B);
l = imsubtract(A,B);
figure;
subplot(321), imshow(A);
subplot(322), imshow(l);
subplot(323), imshow(B);
subplot(324), imshow(i);
subplot(325), imshow(j);
subplot(326), imshow(k);
第一列的前两张为原图,做减法后的为第二列第一张;
最后一张几乎全白一张全黑的分别为图片相乘和除; 个人理解是由于乘法使得像素矩阵的值变大, 除法使得值变小, 众所周知值越大越趋向于全白,越小越趋向于全黑
找不到原图片了没法展示matlab中的详细数据…第一篇blog凑合一下辣
想写blog好久了,今天终于迈开第一步hhh. 第一篇blog…希望寄几能坚持下去( •̀ ω •́ )y