clc
clear
a = imread('004_1.bmp');
I2 = imcrop(a,[80 17 101 180]);
[i,j]=size(I2);
x_hist=sum(I2,1);
y_hist=(sum(I2,2))';
x=1:j ; y=1:i;
centx=sum(x.*x_hist)/sum(x_hist)
centy=sum(y.*y_hist)/sum(y_hist)
BW = edge(I2,'Canny',0.329);
bw2 = imcomplement(BW);
circle = int32([centx,centy,40]);
shapeInserter = vision.ShapeInserter('Fill',false);
release(shapeInserter);
set(shapeInserter,'Shape','Circles');
K = step(shapeInserter,bw2,circle);
figure, imshow(K)
I have this program and I want to know value from the intersection between circle and binary image. If anyone know how to find the value?
You can use find
to obtain the indexes of the desired images as follows:
bwCircle = step(shapeInserter,true(size(bw2)),circle); % construct binary image of circle only
[i, j] = find ((bw2 | bwCircle) == 0); % find the indexes of the intersection between the binary image and the circle
figure
imshow(bw2 & bwCircle) % plot the combination of both images
hold on
plot(j, i, 'r*') % plot the intersection points