Image warping / distortion
6872 단어 ImageProcess영상 필터
Image warping / distortion Written by Paul Bourke
December 2002
This documents, primarily with examples, an image warping application that was originally developed to test the simulation of various lens types. There are a few key ideas with image transformations such as this.
The transformation that one needs is not the function that maps from the source image to the destination but the reverse. What is required is to find the source pixel associated with each pixel in the destination image. In general the image plane is considered to be a real valued function rather than a discrete pixel plane, this is particularly so when antialiasing is implemented.
The image coordinates are transformed from pixels (i,j) ranging from 0 to the width-1 and height-1 to normalised coordinates (x,y) ranging from -1 to 1, this is irrespective of the image proportions and it applies to both the source and destination image coordinates.
x = 2 i / width - 1
y = 2 j / height - 1
A key ingredient for image quality is antialiasing. In the code given here, supersampling is used. That is, each pixel in the destination image is sampled a number of times, the resulting estimate from the source image are averaged (box filter is used here) to give a final estimate in the destination image.
Some transformation act upon the cartesian coordinates while other are radial (polar coordinates) in nature. The r,phi coordinates are as follows.
r = sqrt(x
2 + y
2)
phi = atan2(y,x)
After the radial based warp the reverse transformation back to cartesian normalised coordinates is:
x = r cos(phi)
y = r sin(phi)
This application (imagewarp.c) is written as a UNIX utility that reads a TGA file (24 or 32 bit), performs the warping as specified by command line arguments and writes the resulting image as a TGA file to standard output (to be redirected to a file say).
imagewarp tgafilename [options]
Options:
-a n set antialias level (Default: 1)
-w n width of the output image (Default: 500)
-h n height of the output image (Default: width)
-m n mapping type (Default: 0)
-p1 n first parameter for mapping (Default: 0)
-p2 n second parameter for mapping (Default: 0)
-p3 n third parameter for mapping (Default: 0)
-s n scale factor (Default: 1)
-v debug/verbose mode (Default: off)
The following lists each of the image warping types supported, other warping function can readily be added.
Source image This is the test image: test.tga that is transformed into each of the images below.
r -> 2 arcsin(r) / pi
r -> rp p = 1.5
r -> rp p = 3
x -> sign(x) x2 y -> sign(y) y2
x -> x (1 - p r) / (1 - p) y -> y (1 - p.r) / (1 - p) p = 0.1
x -> x (1 - p r) / (1 - p) y -> y (1 - p.r) / (1 - p) p = 0.3
Method by H. Farid and A.C. Popescu for modest lens with good fit. p = 0.4
r -> p1 10r p2 - p1 p1 = 0.049 p2 = 1.280
Janez Pers, Stanislav Kovacic An Alternative Model for Radial Distortion in Wide-Angle Lenses (Single parameter model) p = 0.1
Janez Pers, Stanislav Kovacic An Alternative Model for Radial Distortion in Wide-Angle Lenses (Single parameter model) p = 0.3
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
opencv 이미지 필터(평균 값,사각형,고 스,중간 값)그림 의 소음 성분 을 제거 하 는 것 을 그림 의 평활 화 나 필터 작업 이 라 고 합 니 다.신호 나 이미지 의 에 너 지 는 대부분 폭 스펙트럼 의 저주파 와 중간 주파수 에 집중 되 는 것 이 흔 하지만 비교...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.