# more accuracy getAffineTransform()

Hi all,

The getAffineTransform and invertAffineTransform output the transformation matrix with dtype='float64'. Is there anyway to make it output more accuracy? say dtype='float128'? I MAY need more accuracy in my applications.

In my application, I choose three points with gps locations and xy-points in the image to compute the matrix and I compute the inverse_matrix too.
Then, I use the same three points and the inverse_matrix, input the xy values and compute them back to the gps locations.
The largest error between the computed gps location and measured gps location is about

3.04283202e-06 which is not really bad. (about 30cm )

```
M2 = np.array([51, 788, 1.0])
M2 = M2.reshape(3, 1)
result = np.matmul(inv_M, M2)
# p = inv_M * p'
diff = result - np.array([23.90368083, 121.53650361]).reshape(2,1)
print diff
[[-2.86084081e-08]
[ 3.04283202e-06]]
```

But for other test points, the errors are too much.
For example, let's see the bottom point (gps 23.90377194, 121.53645972).
The error is 0.00021149 in longitude which is too much (**about 21 meters**).

```
M2 = np.array([910, 958, 1.0])
M2 = M2.reshape(3, 1)
result = np.matmul(inv_M, M2) # p = inv_M * p'
diff = result - np.array([23.90377194, 121.53645972]).reshape(2,1) //compare to the measured gps location
print diff
[[0.00015057]
[0.00021149]]
```

Here is my ipynb link text

original image // you can use mouse to get the xy values of feature points. link text

feature points with gps locations // note that this is a resized diagram, the xy value is meanless. link text the gps locations were provided by vendor and they claimed the errors should be <= 30cm...

To check if the gps locations is trustable or not, I tried to plot those gps locations to ROS rviz and check their relative locations to the labeled image. Finally, I think the gps locations is trustable,

here is the png for checking gps locations link text

Any idea?

I don't understand float64 = 15 digits. with 1e6 km (7 digits) precision is micrometer. With modern GPS when you get 10cm error it's really good

I think the main source of error could be the image and the precision of pinpointing the three points. Are you using some sort of image processing to get subpixel accuracy or just mark three points with a mouse or something?

hi, thanks for the reply. I've attached my images and code. Please help to identify the problem. Thank you!

I think your question is off topics. Here it's an opencv forum. You should read this. As @Witek wrote may be problem is in data precision and not in matrix inversion

I think the pinpointing and the image is not the problem. Even, I tried to plot those gps locations to ROS rviz ahd check their locations with my eyes. I think the gps locations is trustable,