在matlab中把两幅图像的亮度值相减的程序代码怎么写?

在matlab中把两幅图像的亮度值相减的程序代码怎么写?,第1张

% 读取图像A

A = imread('rice.png')

% 读取图像B

B = imread('cameraman.tif')

%两图像相减

C=B-A

%显示三幅图像

figure

imshow(A)

figure

imshow(B)

figure

imshow(uint8(C))

照片的尺寸一样的么 如果一样的话 要这个程序吧 是背景差分法

close all

a = imread('照片上面是A.jpg')

b = imread('照片上面是A和B.jpg')

% 作差

c = a-b

% 二值化

c = im2bw(c)

% 求出目标区域坐标

[row,col] = find(c==1)

x = min(col)

y = min(row)

w = max(col)-x

h = max(row)-y

% 显示结果

figure,imshow(b)

hold on

% 框残缺区域

rectangle('Position',[x,y,w,h],'LineWidth',1,'EdgeColor','g')

AB两幅图像相减:

普通方法:两次bitblt即可完成,第一次B取反,第二次a与B相加

文艺方法:openCV库的absDiff函数直接实现两幅图相减。

2B方法(只能用来练手,实际中不能用,效率太低):逐像素 *** 作


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11530780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存