error using imsubtract
2 次查看(过去 30 天)
显示 更早的评论
I've been using imsubtract, i want to replace the background with black, but why that appear only in black ... no image object .. what is wrong ...?
0 个评论
回答(3 个)
Alex Taylor
2011-9-12
Megah,
I'd also recommend that you use the MATLAB minus operator instead of imsubtract to perform elementwise subtraction on two images:
image3 = im2double(image1) - im2double(image2)
The imadd and imsubtract functions are old and predate support for integer math in base MATLAB.
The MATLAB math operators are better maintained and in general will exhibit better performance:
>> a = rand(4000,4000); >> b = rand(4000,4000);
>> tic; for i = 1:100; imsubtract(a,b); end; toc
Elapsed time is 17.827151 seconds.
>> tic; for i = 1:100; a-b; end; toc
Elapsed time is 8.206314 seconds.
- Alex.
0 个评论
Wolfgang Schwanghart
2011-8-18
Hi Megah, apparently both variables don't have the same class. Try
image3 = imsubtract(im2double(image1),im2double(BWfinal))
[edited according to WRs suggestion]
3 个评论
Pramod Bhat
2011-8-25
convert them to the same class. both the images shud be in the same format.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!