Translate
来源:互联网 发布:linux sed 删除指定行 编辑:程序博客网 时间:2024/05/17 23:44
http://homepages.inf.ed.ac.uk/rbf/HIPR2/translte.htm
Translate
Common Names: Translate
Brief Description
The translate operator performs a geometric transformation which maps the position of each picture element in an input image into a new position in an output image, where the dimensionality of the two images often is, but need not necessarily be, the same. Under translation, an image element located at in the original is shifted to a new position in the corresponding output image by displacing it through a user-specified translation . The treatment of elements near image edges varies with implementation. Translation is used to improve visualization of an image, but also has a role as a preprocessor in applications where registration of two or more images is required. Translation is a special case of affine transformation.
How It Works
The translation operator performs a transformation of the form:
Since the dimensions of the input image are well defined, the output image is also a discrete space of finite dimension. If the new coordinates are outside the image, the translate operator will normally ignore them, although, in some implementations, it may link the higher coordinate points with the lower ones so as to wrap the result around back onto the visible space of the image. Most implementations fill the image areas out of which an image has been shifted with black pixels.
Guidelines for Use
The translate operator takes two arguments, , which specify the desired horizontal and vertical pixel displacements, respectively. For example, consider the artificial image
in which the subject's center lies in the center of the 300×300 pixel image. We can naively translate the subject into the lower, right corner of the image by defining a mapping (i.e. a set of values) for which will take the subject's center from its present position at to an output position of , as shown in
In this case, information is lost because pixels which were mapped to points outside the boundaries defined by the input image were ignored. If we perform the same translation, but wrap the result, all the intensity information is retained, giving image
Both of the mappings shown above disturb the original geometric structure of the scene. It is often the case that we perform translation merely to change the position of a scene object, not its geometric structure. In the above example, we could achieve this effect by translating the circle center to a position located at the lower, right corner of the image less the circle radius
At this point, we might build a collage by adding) another image(s) whose subject(s) has been appropriately translated, such as in
to the previous result. This simple collage is shown in
Translation has many applications of the cosmetic sort illustrated above. However, it is also very commonly used as a preprocessor in application domains where registration of two or more images is required. For example, feature detection and spatial filtering algorithms may calculate gradients in such a way as to introduce an offset in the positions of the pixels in the output image with respect to the corresponding pixels from the input image. In the case of theLaplacian of Gaussian spatial sharpening filter, some implementations require that the filtered image be translated by half the width of the Gaussian kernel with which it was convolved in order to bring it into alignment with the original. Likewise, the unsharp filter, requires translation to achieve a re-registration of images. The result of subtracting the smoothed version of the image
away from the original image (after translating the smoothed image by the offset induced by the filter before we subtract to re-align the two images) yields the edge image
We again view the effects of mis-alignment if we consider translating
by one pixel in the x and y directions and then subtracting this result from the original. The resulting image, shown in
contains a description of all the places (along the direction of translation) where the intensity gradients are different; i.e. it highlights edges (and noise). The image
was used in examples of edge detection using the Roberts Cross, Sobel and Canny operators. Compare this result to the translation-based edge-detector illustrated here
Note that if we increase the translation parameter too much, e.g., by 6 pixels in each direction, as in
edges become severely mis-aligned and blurred.
Interactive Experimentation
You can interactively experiment with this operator by clicking here.
Exercises
- Investigate which arguments to the translation operator could perform the following translations:
a)into
b)
into
- We can create more interesting artificial images by combining the translate operation with other operators. For example,
has been translated and then pixel added back onto itself to produce
a) Produce an artificial image of this sort using
b) Combine
and
using translation and pixel addition into a collage.
- Describe how you might derive a simple isotropic edge detector using a series of translation and subtraction operations.
- Would it be possible to make a simple sharpening filter based on translation and pixel addition or subtraction? On what types of images might such a filter work?
- How could one use translation to implement convolution with the kernel shown in Figure 1.
Figure 1 Convolution kernel.Can one implement every convolution using this approach?
References
D. Ballard and C. Brown Computer Vision, Prentice-Hall, 1982, Appendix 1.
B. Horn Robot Vision, MIT Press, 1986, Chap. 3.
- translate
- translate
- translate
- translate
- translate
- translate
- translate
- translate
- translate
- TRANSLATE
- translate
- translate
- translate
- Translate
- Translate
- Translate
- Translate
- oracle translate
- T-SQL 数字位位数求和
- RotateRotate Common Names: Rotation Brief Description The rotation operator performs a geometric
- 求正数数组的子数组之和等于给定值
- VS2010环境变量的配置
- hdu 4327 简单立体几何 + 半平面交
- Translate
- Affine Transformation
- Reflect
- 仿射變換
- jasperreports<子报表+交叉报表+分组>单据模式统计当前页码/总页码 - 开发心得
- HTML+CSS+JavaScript小结
- 设置socket缓冲区大小
- android local socket
- 【32位和64位不同的操作系统】环境的配置,如何区分JDK,Tomcat,eclipse的32位与64版本