2010-06-19 141 views

回答

0

使用OpenCV中有两个是IplImage变量指向您的两幅图像并减去them..like这

IplImage im1=your image1; 
IplImage im2=your image2; 
IplImage im3; 
cvSub(im1,im2,im3); 

显然,你需要先打开图像。这是可行的,因为iplimage是从垫子派生的结构

+0

感谢您的答案,但我在Matlab neeed如果你不介意让我在MATLAB – user358886 2010-06-19 20:22:22

3

我不太明白'row-wise'或'column-wise'是什么意思。在MATLAB中,您可以直接从两个图像中减去两个图像,只要它们尺寸相同即可。

%# load the images 
im1 = imread('firstImage.tif') 
im2 = imread('secondImage.tif') 

%# subtract 
deltaImage = im1 - im2; 

注意:如果您有图像处理工具箱,你可以使用deltaImage = imsubtract(im1,im2)处理下溢,如果你的图片是整型数组。

+0

我的意思是说,我想从像素减去明智无论是从行明智或列明智,并获得差异 – user358886 2010-06-19 20:31:12

+0

由于您不需要循环以减少图像,没有必要担心行/列。 – Jonas 2010-06-20 01:10:32

0

这里是一个可能的解决方案:

[file path]=uigetfile('*.jpg'); 
I=imread([path file]); 
[file path]=uigetfile('*.jpg'); 
J=imread([path file]); 
K=I-J; 
figure; 
imshow(K); 
title('SUBTRACTED IMAGE ');