【问题标题】:I want to know value intersections between binary image and circle我想知道二进制图像和圆之间的值交叉点
【发布时间】:2017-11-03 09:03:45
【问题描述】:

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)

我有这个程序,我想知道圆形和二进制图像之间的交集的值。如果有人知道如何找到价值?

【问题讨论】:

  • 你也必须添加图片...以便用户可以尝试您的代码..
  • 图片已添加..感谢您的建议 :)

标签: algorithm matlab image-processing ear biometrics


【解决方案1】:

您可以使用find获取所需图片的索引,如下:

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

【讨论】:

  • 如果我想对所有交点求和,我该如何求和?但我想按顺时针方向对所有交点求和
  • 最好单独提出一个问题。如果把它们都加起来,为什么要顺时针?
  • 哦,对不起。我的意思是我想按顺时针方向对所有交点求和以获得一个值。我就是这么想的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-11
  • 1970-01-01
  • 2020-09-02
相关资源
最近更新 更多