Find the changed area between two images
3 次查看(过去 30 天)
显示 更早的评论
I have 3 photos taken from a sample. The first one is prior to a test and the second and third ones are taken after the test. I am intersted in finding the changed area in the painting after each test. IN other words between image number1and 2 and image number 1and3.
Image number 2 has slighty changed but image number 3 has considerably changed.
here are the photos.
Thank you
0 个评论
回答(1 个)
Balakrishnan Rajan
2019-1-31
Depends on your definition of area of the painting. Is every point with colour anything but absolute white considered as a part of the painting? Assuming that anything brighter than the mid level of gray to be an unpainted region, the following code must be able to get the area of a painting:
Im = imread('File location');
ImBW = Im(:,:,2);
imshow(ImBW);
threshold = 127;
area = 0;
for i = 1 : length(ImBW(:,1))
for j = 1 : length(ImBW(1,:))
if(ImBW(i,j)>threshold)
area = area+1;
end
end
end
Use this to compute the areas of the different images and take difference accordingly.
Hope it helps.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!