Find location of plotted circle on a binary image

4 ビュー (過去 30 日間)
Shasha Glow
Shasha Glow 2014 年 8 月 5 日
編集済み: Shasha Glow 2014 年 8 月 25 日
have to findthe location of the circle, need to walk along the circle and get the pixel value. For example the answer will be almost like 000011111000001111.. when the circle pass through the white region shows "1" and if it pass through black region shows "0".
  4 件のコメント
Nir Rattner
Nir Rattner 2014 年 8 月 5 日
The circle in the provided image appears to be computer generated. What function are you using to draw the circle? It is likely that you can pull the XData and YData from the circle object to get pixel values.
Shasha Glow
Shasha Glow 2014 年 8 月 6 日
adjusted_theta = 0 : 0.01 : 2*pi;
x = round(radius*cos(adjusted_theta)+ mean(m));
y = round(radius*sin(adjusted_theta)+ mean(n));
plot(x,y);

サインインしてコメントする。

回答 (1 件)

Image Analyst
Image Analyst 2014 年 8 月 5 日
編集済み: Image Analyst 2014 年 8 月 5 日
for k = 1 : length(circleX)
row = circleY(k);
column = circleX(k);
pixelValue = binaryImage(row, column)
end
Is that what you want?
  3 件のコメント
Image Analyst
Image Analyst 2014 年 8 月 6 日
pixelValue = yourImage(y(someIndex), x(someIndex));
Nir Rattner
Nir Rattner 2014 年 8 月 6 日
Note that this may double count some pixels depending on the resolution and rounding of your adjusted_theta vector. You may first want to do:
uniqueXY = unique([x' y'], 'rows');
xUnique = uniqueXY(:, 1);
yUnique = uniqueXY(:, 2);
And then you can use xUnique and yUnique in the loop suggested above.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by