logo

Рад са сликама у Питхон-у

ПИЛ је Питхон Имагинг Либрари која Питхон интерпретеру пружа могућности за уређивање слика. Развили су га Фредрик Лунд и неколико других сарадника. Пиллов је пријатељска ПИЛ виљушка и библиотека лака за коришћење коју су развили Алекс Кларк и други сарадници. Радићемо са јастуком.

нумпи јединствен

Инсталација:

  • Линук: На линук терминалу откуцајте следеће:
    pip install Pillow
    Инсталирање пип-а преко терминала:
    sudo apt-get update  
    sudo apt-get install python-pip
  • Виндовс: Преузми одговарајући пакет јастука према вашој верзији Питхон-а. Обавезно преузмите у складу са верзијом Питхон-а коју имате.

Овде ћемо радити са Имаге Модуле који обезбеђује класу истог имена и пружа много функција за рад на нашим сликама. Да бисмо увезли Имаге модул, наш код би требало да почне следећим редом:



 from PIL import Image

Операције са сликама:

  • Отворите одређену слику са путање: Python
    #img = Image.open(path)  # On successful execution of this statement # an object of Image type is returned and stored in img variable) try: img = Image.open(path) except IOError: pass # Use the above statement within try block as it can  # raise an IOError if file cannot be found  # or image cannot be opened. 
  • Преузми величину слике : Инстанце класе Имаге које су креиране имају много атрибута, један од корисних атрибута је величина. Python
    from PIL import Image filename = 'image.webp' with Image.open(filename) as image: width height = image.size #Image.size gives a 2-tuple and the width height can be obtained 
    Неки други атрибути су: Имаге.видтх Имаге.хеигхт Имаге.формат Имаге.инфо итд.
  • Сачувајте промене на слици: Да бисмо сачували све промене које сте направили у датотеци слике, морамо да дамо путању као и формат слике. Python
    img.save(path format) # format is optional if no format is specified  #it is determined from the filename extension 
  • Ротирање слике: Ротацији слике је потребан угао као параметар да би се слика ротирала. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') #Angle given img = img.rotate(180) #Saved in the same relative location img.save('rotated_picture.webp') except IOError: pass if __name__ == '__main__': main() 
    ротирање слике у питону' src='//techcodeview.com/img/python/71/working-with-images-in-python.webp' title=Напомена: Постоји опциона заставица за проширење која је доступна као један од аргумента методе ротирања која, ако је постављена на тачно, проширује излазну слику да би била довољно велика да задржи потпуно ротирану слику. Као што се види у горњем исечку кода, користио сам релативну путању где се моја слика налази у истом директоријуму као и моја Питхон датотека кода, а апсолутна путања се такође може користити.
  • Опсецање слике: Имаге.цроп(бок) узима координате пиксела од 4 (лево горње десно доње) и враћа правоугаони регион од коришћене слике. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') width height = img.size area = (0 0 width/2 height/2) img = img.crop(area) #Saved in the same relative location img.save('cropped_picture.webp') except IOError: pass if __name__ == '__main__': main() 
    изрезивање слике у Питхон-у' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-1.webp' title=
  • Промена величине слике: Имаге.ресизе(сизе)- Овде је величина дата као ширина и висина од 2 торке. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') width height = img.size img = img.resize((width/2 height/2)) #Saved in the same relative location img.save('resized_picture.webp') except IOError: pass if __name__ == '__main__': main() 
    промена величине слике у Питхон-у' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-2.webp' title=
  • Лепљење слике на другу слику: Други аргумент може бити 2-торка (наводећи горњи леви угао) или 4-торка (лево горе десно доле) - у овом случају величина налепљене слике мора да одговара величини овог региона оквира или Ништа што је еквивалентно (0 0). Python
    from PIL import Image def main(): try: #Relative Path #Image on which we want to paste img = Image.open('picture.webp') #Relative Path #Image which we want to paste img2 = Image.open('picture2.webp') img.paste(img2 (50 50)) #Saved in the same relative location img.save('pasted_picture.webp') except IOError: pass if __name__ == '__main__': main() ##An additional argument for an optional image mask image is also available. 
    лепљење слике на друго у Питхон-у' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-3.webp' title=
  • Добијање хистограма слике: Ово ће вратити хистограм слике као листу пиксела који броји један за сваки пиксел на слици. (Хистограм слике је графички приказ дистрибуције тонова на дигиталној слици. Садржи све вредности осветљености које садржи слика. Он приказује број пиксела за сваку вредност осветљености. Помаже у подешавању експозиције.) из ПИЛ импорт Имаге Python
    def main(): try: #Relative Path img = Image.open('picture.webp') #Getting histogram of image print img.histogram() except IOError: pass if __name__ == '__main__': main() 
    добијање-хистограма-слике-у-питон-копији' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-4.webp' title=


  • Транспоновање слике: Ова карактеристика нам даје слику у огледалу Python
     from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') #transposing image  transposed_img = img.transpose(Image.FLIP_LEFT_RIGHT) #Save transposed image transposed_img.save('transposed.webp') except IOError: pass if __name__ == '__main__': main() 
    транспоновање слике у Питхон-у' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-5.webp' title=
  • Поделите слику на појединачне траке: Подела слике у РГБ режиму ствара три нове слике од којих свака садржи копију оригиналних појединачних трака. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') #splitting the image print img.split() except IOError: pass if __name__ == '__main__': main() 
    поделите слику у Питхон-у' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-6.webp' title=
  • тобитмап: Конвертовање слике у Кс11 битмап (формат бинарне слике обичног текста). Враћа стринг који садржи Кс11 битмап и може се користити само за слике у режиму 1, тј. црно-беле слике од 1 бита. из ПИЛ импорт Имаге Python
    def main(): try: #Relative Path img = Image.open('picture.webp') print img.mode #converting image to bitmap print img.tobitmap() print type(img.tobitmap()) except IOError: pass if __name__ == '__main__': main() 
    претварање слике у битмап у Питхон-у' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-7.webp' title= претварање слике у битмао у Питхон-у' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-8.webp' title=
  • Прављење сличице: Овај метод креира сличицу слике која је отворена. Не враћа нови објекат слике већ врши модификацију на месту тренутно отвореног објекта слике. Ако не желите да промените оригинални објекат слике, направите копију и примените овај метод. Овај метод такође процењује одговарајућу за одржавање односа ширине и висине слике у складу са пређеном величином. из ПИЛ импорт Имаге Python
    def main(): try: #Relative Path img = Image.open('picture.webp') #In-place modification img.thumbnail((200 200)) img.save('thumb.webp') except IOError: pass if __name__ == '__main__': main() 
    креирање сличице слике у Питхон-у' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-9.webp' title=
Креирај квиз