Cylindrical to rectangular correction in image processing
조회 수: 3 (최근 30일)
이전 댓글 표시
Dear All;
if have an image for cylindrical object ( say pipe). when take the image of the pipe it will project as rectangular image ,which may lead to projection error, how i can compensate for that.\
Best Regards;
댓글 수: 0
답변 (1개)
Adam Wyatt
2015년 3월 31일
편집: Adam Wyatt
2015년 3월 31일
Create projected co-ordinates of original image
[Ny, Nx] = size(Img);
x = (1:Nx).';
y = (1:Ny).';
Create original co-ordinates of orignal image (you need to know the transfer function - you probably want to look up Mercator projection
[x1, y1] = MyCoordinateTransferFunction(x, y);
Create new co-ordinates on uniform grid
x2 = linspace(min(x1), max(x1), Nx).';
y2 = linspace(min(y1), max(y1), Ny).';
Interpolate image on new uniform grid
Img2 = interp2(x1.', y1, Img, x2.', y2, 'spline');
Note that I've defined the vectors as columns, so had to transpose the x-coordinates. Also, I've used spline interpolation - you could use linear or nearest if your want better speed but lower accuracy. Check the documentation.
참고 항목
카테고리
Help Center 및 File Exchange에서 Read, Write, and Modify Image에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!