フィルターのクリア

Find coordinate of a point and place them in circular form

1 回表示 (過去 30 日間)
Alina tom
Alina tom 2018 年 5 月 24 日
コメント済み: Alina tom 2018 年 5 月 29 日
Hi all
I have multiple binary images which consist of 271 columns and I want to get the coordinates of white pixels from each column and place them in circular(cylindrical) from . like red dot. read these dots and plot then in cylindrical coordinate
Actually I want to read first column pixels from all the images and plot them into cylindrical from and then read the second column and make a new circle and so one for all the column of the images
First one is input image and 2nd one is the output of 1st frame of cylindrical and soo on . any one help me with code
  5 件のコメント
Alina tom
Alina tom 2018 年 5 月 25 日
Sorry if my questions are stupid
Walter Roberson
Walter Roberson 2018 年 5 月 25 日
Sounds like something that iradon() might be useful for.

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

採用された回答

Akira Agata
Akira Agata 2018 年 5 月 29 日
As Walter-san mentioned, it sounds like iradon function. But seems not applicable this function directly. The following is my preliminary try and I believe possible solution would be like this.
Alina-san, let me clarify some points:
- Your data set contains 73 image files, so the result plots only 0~72 degrees. Is this OK for you?
- 1st and last column of each image is not a separated dots (separated logical "true"s) , but a line (continuous "true"s). These columns should be ignored, or should be plotted also?
fileList = struct2table(dir('./Images/*.tif'));
fileList = sortrows(fileList,'date');
h = 512; % Height of the image in pixel
BW = false(h);
for kk1 = 1:height(fileList)
I = imread(fullfile(fileList.folder{kk1},fileList.name{kk1}));
BWtmp = false(h);
BWtmp(:,h/2) = I(:,2);
BWtmp = imrotate(BWtmp,kk1-1);
center = size(BWtmp)/2;
BWtmp = imcrop(BWtmp,[center(1)-h/2+1,center(2)-h/2+1,h-1,h-1]);
BW = BW | BWtmp;
end
figure
imshow(BW)
  1 件のコメント
Alina tom
Alina tom 2018 年 5 月 29 日
Sir
Thanks a lot for you time and help ..
Yes i have uploaded the 73 images due to size issue . actually i want to get this from 0 to 180 degree
You are right that 1st and last column contain line . i want to plot just fisrt and last dot from these lines. not the whole line .
Thank you again for your percious time

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

その他の回答 (0 件)

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by