我用这个问题来帮助我提出一个不失真的图像协调系统。现在,我不确定如何在图像中实现新的坐标系,以便能够生成未失真的图像。
我在使用R时无法找到不涉及Matlab,OpenCV或C ++的 答案。
我从引用的问题中使用的答案给了我以下转换的xy坐标:
1 -19.50255239, -19.50255239
2 -18.26735544, -18.26735544
3 -17.03391152, -17.03391152
4 -15.80221494, -15.80221494
5 -14.57225998, -14.57225998
6 -13.34404095, -13.34404095
...
Run Code Online (Sandbox Code Playgroud)
依此类推,对于512 x 512图像中的512像素。
我一直在努力如何将其应用于原始的512 x 512图像。我已经看到了类似的打开CV页页提到了一些在这里和具体的预先定义的变化,或纬度/纵向偏移,使用SpatialObjectsDataFrame S,但不能从xy坐标到另一个的一个用户自定义列表。
-获取源图像坐标的示例:
im_coords <- RSAGA::grid.to.xyz(as.matrix(as.raster(im)))
Run Code Online (Sandbox Code Playgroud)
(请注意,我实际上并不想光栅化图像,仅是我当时发现的图像)
-我用来获取转换后的坐标的代码:
undistort <- function(X, Y, a, b, c, d = 1, imWidth = 512, imHeight = 512) {
#radial barrel distortion
normX <- X - (imWidth / 2)
normY <- …Run Code Online (Sandbox Code Playgroud)