Image scale to a logarithmic scale x and y axis.

14 views (last 30 days)
Mikkel Ibsen
Mikkel Ibsen on 7 Sep 2017
Commented: Walter Roberson on 11 Sep 2017
Hi
I have this code where I've (With some help from Matlab Community) made a script that reads a image and gives the different colorzones a number. Then I give the image a x and y axis, so that I can place a point with x and y coordinates, and it gives me which zone it is in. It works perfectly when my x and y axis are linear, but I need to have them logarithmic, both of them. But when I try to do it, I either get my image in a straight line with a slope of 45 degrees, or else I only get my axis logarithmic and not my image.
I've made a point [0.1 600] which should be in zone 7 if it works.
My image looks like this, because I offend find that i flips the picture, when I try to force the y axis to start from 0 in the bottum and 1000 in the top.
I've attached my code, its small and simple.
Hope someone can help me.
  5 Comments
Walter Roberson
Walter Roberson on 11 Sep 2017
Your image is pseudocolor, so you could use warp()
You would just use planar coordinates.
Example with warp:
[I,map] = imread('forest.tif');
[X,Y] = meshgrid(1:size(I,1),1:size(I,2));
Z = zeros(size(X));
warp(X,Y,Z,I,map);
view(2)
set(gca,'xscale','log')

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!