Why does imwarp returns single integer uint8 on Homography Projective Transform?
显示 更早的评论
I am trying to map a captured image quadrangle to deskewed view as if viewed from top. My image contains an A4 sheet of paper with some text on it. I have calculated the Homography Matrix H using the corner points and corresponding deskewed points ( 0,0 0,h w,0 & w,h ).
I am expecting an image as output as per imwarp documentation but I am getting a single integer. What am i doing wrong?
Here is the code for doing transformation:
Trial>> H
H =
1.4827 0.1074 -508.2923
0.0122 0.9982 -387.1204
0.0000 0.0000 1.0000
Trial>> tf = projective2d(H);
Trial>> tf
tf =
projective2d with properties:
T: [3×3 double]
Dimensionality: 2
Trial>> imwarp(Image, tf)
ans =
uint8
213
Trial>>
2 个评论
Matt J
2018-7-15
I suggest that you attach the images and the input/output points so that we can attempt to reproduce what you see.
回答(1 个)
Pratik Jain
2021-5-23
the format that the imwarp uses is the transpose of the standard Homography matrix.
just use
tf = projective2d(H')
notice the H' (H transpose).
Hope that helps
类别
在 帮助中心 和 File Exchange 中查找有关 Image Category Classification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!