Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
pnmscalefixed(1)
Edit
PageHistory
Diff
Info
LikePages
pnmscalefixed !!!pnmscalefixed NAME DESCRIPTION ---- !!NAME pnmscale - scale a PNM file quickly !!DESCRIPTION __pnmscalefixed__ is the same thing as __pnmscale__ except that it uses fixed point arithmetic internally instead of floating point, which makes it run faster. In turn, it is less accurate and may distort the image. Use the __pnmscale__ man page with __pnmscalefixed__. This man page only describes the difference. __pnmscalefixed__ uses fixed point 12 bit arithmetic. By contrast, __pnmscale__ uses floating point arithmetic which on most machines is probably 24 bit precision. This makes __pnmscalefixed__ run faster (30% faster in one experiment), but the imprecision can cause distortions at the right and bottom edges. The distortion takes the following form: One pixel from the edge of the input is rendered larger in the output than the scaling factor requires. Consequently, the rest of the image is smaller than the scaling factor requires, because the overall dimensions of the image are always as requested. This distortion will usually be very hard to see. __pnmscalefixed__ with the __-verbose__ option tells you how much distortion there is. The amount of distortion depends on the size of the input image and how close the scaling factor is to an integral 1/4096th. If the scaling factor is an exact multiple of 1/4096, there is no distortion. So, for example doubling or halving an image causes no distortion. But reducing it or enlarging it by a third would cause some distortion. To consider an extreme case, scaling a 100,000 row image down to 50,022 rows would create an output image with all of the input squeezed into the top 50,000 rows, and the last row of the input copied into the bottom 22 rows of output. __pnmscalefixed__ could probably be modified to use 16 bit or better arithmetic without losing anything. The modification would consist of a single constant in the source code. Until there is a demonstrated need for that, though, the Netpbm maintainer wants to keep the safety cushion afforded by the original 12 bit precision. ----
2 pages link to
pnmscalefixed(1)
:
pnmscale(1)
Man1p
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.