mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 09:57:43 +03:00 
			
		
		
		
	fix spelling
This commit is contained in:
		
							parent
							
								
									c830b1ffcb
								
							
						
					
					
						commit
						b0152e1e5b
					
				| 
						 | 
					@ -15,11 +15,11 @@ Bicubic and Bilinear downscaling
 | 
				
			||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
					^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
From very begining :py:attr:`~PIL.Image.BILINEAR` and
 | 
					From very begining :py:attr:`~PIL.Image.BILINEAR` and
 | 
				
			||||||
:py:attr:`~PIL.Image.BICUBIC` filters was based on afine transformations
 | 
					:py:attr:`~PIL.Image.BICUBIC` filters was based on affine transformations
 | 
				
			||||||
and uses fixed number of pixels from source image for every destination pixel
 | 
					and uses fixed number of pixels from source image for every destination pixel
 | 
				
			||||||
(that was 2x2 pixels for :py:attr:`~PIL.Image.BILINEAR` and 4x4 for
 | 
					(that was 2x2 pixels for :py:attr:`~PIL.Image.BILINEAR` and 4x4 for
 | 
				
			||||||
:py:attr:`~PIL.Image.BICUBIC`). This gave an unsatisfied result for downscaling.
 | 
					:py:attr:`~PIL.Image.BICUBIC`). This gave an unsatisfied result for downscaling.
 | 
				
			||||||
At the same time high quality convolutions-based algorithm with flexeible kernel
 | 
					At the same time high quality convolutions-based algorithm with flexible kernel
 | 
				
			||||||
was used for :py:attr:`~PIL.Image.ANTIALIAS` filter).
 | 
					was used for :py:attr:`~PIL.Image.ANTIALIAS` filter).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Starting from 2.7 high quality convolutions-based algorithm is used for all of
 | 
					Starting from 2.7 high quality convolutions-based algorithm is used for all of
 | 
				
			||||||
| 
						 | 
					@ -36,7 +36,7 @@ New :py:attr:`PIL.Image.LANCZOS` constant was added instead of
 | 
				
			||||||
:py:attr:`~PIL.Image.ANTIALIAS`.
 | 
					:py:attr:`~PIL.Image.ANTIALIAS`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
When :py:attr:`~PIL.Image.ANTIALIAS` was initially added, it was the only
 | 
					When :py:attr:`~PIL.Image.ANTIALIAS` was initially added, it was the only
 | 
				
			||||||
high-qality filter based on convolutions. It's name was supposed to reflect
 | 
					high-quality filter based on convolutions. It's name was supposed to reflect
 | 
				
			||||||
this. Starting from 2.7 all resize method are based on convolutions. All of them
 | 
					this. Starting from 2.7 all resize method are based on convolutions. All of them
 | 
				
			||||||
are antialias from now. And the real name of :py:attr:`~PIL.Image.ANTIALIAS`
 | 
					are antialias from now. And the real name of :py:attr:`~PIL.Image.ANTIALIAS`
 | 
				
			||||||
filter is Lanczos filter.
 | 
					filter is Lanczos filter.
 | 
				
			||||||
| 
						 | 
					@ -53,7 +53,7 @@ the same as :py:attr:`~PIL.Image.BILINEAR` due to bug. This was fixed.
 | 
				
			||||||
Bicubic upscaling quality
 | 
					Bicubic upscaling quality
 | 
				
			||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
					^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:py:attr:`~PIL.Image.BICUBIC` filter for affine trnsformations was producing
 | 
					:py:attr:`~PIL.Image.BICUBIC` filter for affine transformations produced
 | 
				
			||||||
sharp, slightly pixelated image for upscaling. Bicubic for convolutions is
 | 
					sharp, slightly pixelated image for upscaling. Bicubic for convolutions is
 | 
				
			||||||
more soft.
 | 
					more soft.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,7 +61,7 @@ Resize performance
 | 
				
			||||||
^^^^^^^^^^^^^^^^^^
 | 
					^^^^^^^^^^^^^^^^^^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
In most cases convolution is more expensive algorithm for downscaling because
 | 
					In most cases convolution is more expensive algorithm for downscaling because
 | 
				
			||||||
it tekes in account all pixels of source image. Therefore 
 | 
					it takes in account all pixels of source image. Therefore 
 | 
				
			||||||
:py:attr:`~PIL.Image.BILINEAR` and :py:attr:`~PIL.Image.BICUBIC` filters
 | 
					:py:attr:`~PIL.Image.BILINEAR` and :py:attr:`~PIL.Image.BICUBIC` filters
 | 
				
			||||||
performance can be lower than before. On the other hand quality of
 | 
					performance can be lower than before. On the other hand quality of
 | 
				
			||||||
:py:attr:`~PIL.Image.BILINEAR` and :py:attr:`~PIL.Image.BICUBIC` was close to
 | 
					:py:attr:`~PIL.Image.BILINEAR` and :py:attr:`~PIL.Image.BICUBIC` was close to
 | 
				
			||||||
| 
						 | 
					@ -84,7 +84,7 @@ Antialias was chosen because all other filters gave poor quality for reduction.
 | 
				
			||||||
Starting from Pillow 2.7 :py:attr:`~PIL.Image.ANTIALIAS` replaced with
 | 
					Starting from Pillow 2.7 :py:attr:`~PIL.Image.ANTIALIAS` replaced with
 | 
				
			||||||
:py:attr:`~PIL.Image.BICUBIC`, because it faster and
 | 
					:py:attr:`~PIL.Image.BICUBIC`, because it faster and
 | 
				
			||||||
:py:attr:`~PIL.Image.ANTIALIAS` doesn't give any advantages after
 | 
					:py:attr:`~PIL.Image.ANTIALIAS` doesn't give any advantages after
 | 
				
			||||||
downscaling with libJPEG, which uses supersampling internaly, not convolutions.
 | 
					downscaling with libJPEG, which uses supersampling internally, not convolutions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Image transposing
 | 
					Image transposing
 | 
				
			||||||
-----------------
 | 
					-----------------
 | 
				
			||||||
| 
						 | 
					@ -108,7 +108,7 @@ sequential applying of series of box filters. New implementation is based on
 | 
				
			||||||
"Theoretical foundations of Gaussian convolution by extended box filtering" from
 | 
					"Theoretical foundations of Gaussian convolution by extended box filtering" from
 | 
				
			||||||
Mathematical Image Analysis Group. As :py:meth:`~PIL.ImageFilter.UnsharpMask`
 | 
					Mathematical Image Analysis Group. As :py:meth:`~PIL.ImageFilter.UnsharpMask`
 | 
				
			||||||
implementations uses Gaussian blur internally, all changes from this chapter
 | 
					implementations uses Gaussian blur internally, all changes from this chapter
 | 
				
			||||||
alse applyable to it.
 | 
					also applicable to it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Blur radius
 | 
					Blur radius
 | 
				
			||||||
^^^^^^^^^^^
 | 
					^^^^^^^^^^^
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,7 @@ For example for blurring image with actual radius 5 you were forced
 | 
				
			||||||
to use value 10. This was fixed. For now the meaning of the radius
 | 
					to use value 10. This was fixed. For now the meaning of the radius
 | 
				
			||||||
is the same as in other software.
 | 
					is the same as in other software.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you used a Gaussian blur with some radius value, you need to devide this
 | 
					If you used a Gaussian blur with some radius value, you need to divide this
 | 
				
			||||||
value by two.
 | 
					value by two.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Blur Performance
 | 
					Blur Performance
 | 
				
			||||||
| 
						 | 
					@ -138,7 +138,7 @@ Blur quality
 | 
				
			||||||
^^^^^^^^^^^^
 | 
					^^^^^^^^^^^^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Previous implementation takes in account only source pixels within
 | 
					Previous implementation takes in account only source pixels within
 | 
				
			||||||
2 * standard deviation radius for every destination pixel. This was not enought,
 | 
					2 * standard deviation radius for every destination pixel. This was not enough,
 | 
				
			||||||
so qulity was worse compared to other Gaussian blur software.
 | 
					so quality was worse compared to other Gaussian blur software.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The new implementation does not have this drawback.
 | 
					The new implementation does not have this drawback.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user