Substitute estimateGeometrictransformation - matlab

I go through the help of matlab and I found out that the function "estimateGeometrictransformation" doesn't support "Briskpoints". How can substute it. I have to implement a code to detect matching points. (like I saw in this example http://it.mathworks.com/help/vision/examples/object-detection-in-a-cluttered-scene-using-point-feature-matching.html)
Thank you.

If points is a briskPoints object, you should be able to use points.Location to get the x-y coordinates, and pass them to estimateGeometricTransformation.

Related

how to create a nature shape in matlab?

i am a newbie here.. please excuse me for asking a straight forward question as i did not have the right information to do so.
for my question above, can anyone help me to create various shape in matlab?
i know how to make a simple triangle, rectangle in matlab.
what i am looking for is how to create animal patterns in matlab. all i need is the boundary layer (outer layer).
like from a bird / butterfly. something like the picture below.
butterfly wing:
can anyone give me tips / links to help me.
and yes, i also did not have the coding. i am totally lost on how to make the pattern in matlab.
my real purpose was to add mesh pattern into the wings. i have the code for the mesh. all i need is the code on how to make the wing shape.
If you already have the image created by another program, you can import it to matlab using imread. If you then want to get a binary boundary, you can use im2bw.
threshold = 0.7; % you can play with this to get what you want
binary_img = im2bw(imread('PATH\TO\IMAGE.jpg'), threshold);
In matlab versions starting at 2016a there is another function called imbinarize you might want to have a look at.
As for creating patterns from scratch, as already mentioned in the comments, matlab should not be your choice. Unless, of course, you have a well defined mathematical equation or a problem solution to which becomes the boundary. For this you can look into fimplicit, fplot etc..

Get Specific Area From Image

I would like to ask a question about get specific area from image. For example, there is a non-geometric object on carpet. And i would like to select this area because in the next steps i will take a instance from non-geometric object and carpet.Instances should be just taken from object and carpet.
I tried to handle it with create square on object but in this situation i have object and carpet.
How can i do it or any information about that?
(I am using Matlab, if there is good practice in Matlab, it will so good...)
Thanks
For this question, i can suggest to search on segmentation. If you are using Matlab, these links will be very helpful;
http://www.mathworks.com/help/images/ref/imfreehand.html
http://www.mathworks.com/help/images/roi-based-processing.html
Thanks

Fit two binary images (panorama?)

I have several binary images which represent a partial map of an area (~4m radius) and were taken ~0.2m apart, for example:
(Sorry for the different axis limit).
If you look closely, you'll see that the first image is about 20cm to the right.
I want to be able to create a map of the area from several pictures like this.
I've tried several methods, such as Matlab's register but couldn't find any good algorithm for this purpose. Any ideas on how to approach this?
Thanks in advance!
Two possible routes:
Use imregister. This does registration based on image intensity. You will probably want a rigid transform.
However, this will require your data to be an image (matrix), which it doesn't look like it currently is.
Alternatively, you can use control points. These are common (labelled) points in each image which provide a reference to determine the transform.
Matlab has a built in function to determine control points, cpselect. However, again this requires image data. You may be better of writing your own function to do this or just selecting control points manually.
Once you have control points you can determine the transform between them using fitgeotrans

Drawing a curved domain in Matlab using "meshgrid"

I have solved a PDE's problem and I have the matrix with the values of the solution. The problem is that I don't know how to represent in the domain the solution. The domain is a rectangle with this vertices:
A(0,0)
B(1,1)
C(0,2)
D(-1,1)
I want to use 'meshgrid' without needing to evaluate every single point of the grid by myself. Someone can give me some help?
Thanks!

obstacle avoidance implementation in matlab

This could be a really broad question, but if you can help me with ideas, it would be a great help to me.
I am trying to implement basic path finding algorithm in matlab. I have to create a map where the robot can navigate and also avoid obstacles and reach destination. I have the algorithm fine with me. But am struggling with the gui as I haven't used much of Gui in matlab.
This is the following idea I had.
I created a plot and just defined 4 coods for each obstacle, destination as a circle and a start point. But am stuck when I think how I can detect whether the robot has hit an obstacle or not. One way is to create the equation of line and try to see if the point ever comes to lie on it. But the movement is based ona random generated variable. Thus it is possible for the robot to cross the line and get inside the polygon.
My apologies for bein too elaborate, but can you please tell me the best way to implement this in matlab? It is mandatory to do this in matlab. Please suggest me a better and easy way to program it. Thanks in advance.
If your obstacles are all polygons you could try to use the ray casting algorithm described on the following wikipedia site.
Point in polygon algorithm
With this you should be able to determine if the robot position lies within an obstacle, or you could determine if the next movement will bring the robot into contact with the obstacle.
If you are looking for a simple algorithm that can take care of obstacles inherently i would suggest the potential fields algorithm (can get stuck in certain cases)
Potential Fields
else you can also try the A* algorithm, which is better in my opinion; Good description of A*