Problem in drawing projection profiles

14 views (last 30 days)
I am trying to draw the projection profiles (horizontal and vertical). I wrote the following code which supposes to work correctly. but the results are not the one that I need. Image1 shows the image that I want to process. Image2 shows the Vertical projection of image1 that produced by the code. Image3 shows the correct projection that I should get.
binaryImage = imread(imgFullFileName);
verticalProfile = sum(binaryImage, 1);
horizontalProfile = sum(binaryImage, 2);
[rows, columns] = size(binaryImage);
vertProjImage = area(1:columns,verticalProfile,'FaceColor','k');
image1:
image2:
image3:

Accepted Answer

Mohammad
Mohammad on 29 Apr 2017
I think using bar() and barh() will solve the problem:
binaryImage = imread(imgFullFileName);
verticalProfile = sum(binaryImage, 1);
horizontalProfile = sum(binaryImage, 2)
[rows, columns] = size(binaryImage);
horzProjImage = barh(horizontalProfile,1,'facecolor','black');
verProjImage = bar(verticalProfile ,1,'facecolor','black');

More Answers (0)

Community Treasure Hunt

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

Start Hunting!