Find the changed area between two images
6 次查看(过去 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](https://www.mathworks.com/matlabcentral/answers/uploaded_files/202176/1.jpeg)
![2.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/202177/2.jpeg)
![3.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/202178/3.jpeg)
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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!