像素坐标转换实际坐标python_从像素坐标计算x&y坐标

博主正在使用Python尝试将一个400px*460px图像中的像素坐标转换为厘米单位,他们应用了透视变换但遇到了问题。当沿着y轴移动时,计算出的坐标出现误差。他们已经尝试使用OpenCV的findHomography函数,但结果并不准确。寻求解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

嘿嘿!

我有一个平面的图像(从上面拍摄,角度为30°),我想要一个特定像素的x&y坐标,但以厘米为单位(坐标系在曲面中)。

有没有办法存档?

我正在使用python,但如果有任何帮助,我将不胜感激!:)

编辑:

我尝试了同音字法从下面,但我没有安静设法使它工作。她就是我所做的:#two sets of points I used

#src: corners + center of my 400px*460px image

#dst: coordinate system being outside the image

src = np.matrix(((1, 1, 1),(400, 1, 1),(1, 460, 1),(400, 460, 1),(200,230,1)))

dst= np.matrix(((31.6, 7, 1),(14.5, 7, 1),(28.4, 26.3, 1),(17, 26.3, 1),(22.6,18.6,1 )))

#src: random points from the image of my 400px*460px image

#dst: coordinate system being in the actual image

src = np.matrix(((1, 1, 1),(400, 460, 1),(200,1,1), (100, 170, 1), (280, 320, 1),(300, 50, 1)))

dst= np.matrix(((0, 0, 1),(14.6, 19.3, 1),(17.1/2,0,1), (5.0, 9.2, 1), (11.65, 15.3, 1), (12.9, 2.9, 1) ))

H = cv2.findHomography(src,dst,0)[0]

print (H)

for c in range(0,5):

x= c*100

y = 1

print(x,y,np.dot(H,np.array((x,y,1))))

Actual Photo of the setup

正方形是(400px*460px)图片上可见的区域。摄像机位于右边的黑盒子里。X&Y是我的像素坐标。

只要你保持在x轴上,两组数字的结果都是好的。一旦我沿着y轴向下移动,数字就会出错。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值