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
1.jpg
2.jpg
3.jpg

回答(1 个)

Balakrishnan Rajan
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.
  1 个评论
Tala Hed
Tala Hed 2019-1-31
I appreciate your help, but its not what I am looking for! maybe I was not clear :)
There should be comparision between the original image and the other two to detect the change between them!
Thanks

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

产品


版本

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by