我想知道二进制图像和圆之间的值交叉 [英] I want to know value intersections between binary image and circle
本文介绍了我想知道二进制图像和圆之间的值交叉的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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
这篇关于我想知道二进制图像和圆之间的值交叉的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文