����λ�ã���ҳ > �����̳� > �̳� > python������Ӿ�ѧϰ�ʼǡ���PIL����÷�

python������Ӿ�ѧϰ�ʼǡ���PIL����÷�

��Դ������������|��ʱ�䣺2024-05-18 15:46:13 |���Ķ���76��|�� ��ǩ�� T Pi ����� �Ӿ� Python �� |����������

�����Ҫ������ԭͼ�����룬���Ʋ�С���GitHub��ַ �����ţ������� ����������https://github.com/LeBron-Jian/ComputerVisionPractice �����֮ǰ�ıʼǣ��Լ������˾�˳����������Ҳ����ϰһ�£����ݿ��ܲ�̫ȫ�������������ɡ� ǰ�ԣ�PIL ͼ

�����Ҫ������ԭͼ�����룬���Ʋ�С���GitHub��ַ

�����ţ� ������

����������https://github.com/LeBron-Jian/ComputerVisionPractice

�����֮ǰ�ıʼǣ��Լ������˾�˳����������Ҳ����ϰһ�£����ݿ��ܲ�̫ȫ�������������ɡ�

ǰ�ԣ�PIL

ͼ�����Ǽ�����Ӿ������в��ɻ�ȱ��һ���֣���PIL��Python Imaging Library�����OpenCV��Open Source Computer Vision Library�����������õĹ��ߡ�����������Ҫѧϰ����PIL�⣬PIL ��һ������ͼ������ Python �⣬�ṩ�˷ḻ��ͼ�������ܡ��������˴���ͼ��ĸ��ֹ��ߺ��㷨�����Խ���ͼ��Ĵ򿪡����桢���á���ת�����ŵȲ�����

PIL��Python Imaging Library���� OpenCV ��������ͼ������ǿ��⣬���Ǹ������Ų�ͬ�����ƺ����ó�����������һЩ���� PIL ��Ȼ��ʹ�õ�ԭ��

1��PIL���ŵ�

  1. ���ֺͻ�ͼ���ܣ�PIL������ͼ�����������֡����Ƽ���ͼ�κͻ������ߣ������ͼ��ע�ͺͱ�Ƿdz��а�����
  2. ��չ���ܣ�PIL��֧�ָ�����չ���ܣ���ͼ���˲���ֱ��ͼ���⻯����ɫ�ռ�ת���ȡ�

2��PIL ��ȱ��

3��PIL ���OpenCV������

  1. ������ԣ�PIL�����ô�Python��д�ģ���OpenCV��Ҫ����C++��д�ģ����ṩ��Python�Ľӿڡ����������ϤPython������ϣ��ʹ��Python����ͼ��������ôPIL���ܸ��ʺ���������PIL �Ľӿ���Խ�Ϊ�򵥣��ر��ʺ�һЩ�򵥵�ͼ�������񡣶���һЩ����Ҫ̫��߼����ܵ�Ӧ�ã�PIL �ṩ��ֱ�۵ķ���������ʹ�õ� API��
  2. ���ܺ��㷨��OpenCV�ṩ�˸��ḻ���Ƚ���ͼ�����㷨�ͺ����������˴ӻ����������߼�������Ӿ�����ĸ������档��PIL �ڹ���������������ʺ�һЩС����Ŀ����ֻ��Ҫ���л���ͼ�����ij�����������������Ҫ��һЩ�򵥵�ͼ�������PIL �����Ǹ�����ѡ��
  3. ���ܣ�����OpenCV����C++��д�ģ�����ڴ�������ͼ��͸��Ӽ�������ʱ���нϸߵ��������ơ�PIL���ڴ�������ͼ��ʱ����Ч���Ե͡�
  4. ��̬ϵͳ��OpenCVӵ���Ӵ������֧�ֺͷḻ���ĵ���Դ�����԰�������������ѧϰ����PIL����������Խ��٣��ĵ���Դ��Խ��١�

4�����ʹ��PIL��

�����ǰ�װ���Ƚϼ򵥣�

������һ���򵥵�ʾ������ʾ�����ʹ��PIL������һ��ͼ���ļ���Ȼ��ͼ��ת��Ϊ�Ҷ�ͼ�������浽�µ��ļ��У�

��Ȼ OpenCV �ڼ�����Ӿ��͸����ӵ�ͼ���������б��ֵ÷dz�ǿ�󣬵�ѡ��ʹ���ĸ���ͨ��ȡ���ھ�����������Ŀ�ص㡣��һЩ����£�PIL ���ܸ�Ϊ���ʣ�������������£��ر����漰��������Ӿ����������OpenCV ���ܸ������ơ�

������˵�����Ͽ�Դ��һЩ������Ӿ���Ҳʹ��PIL����ͼ�������в��ò�ѧϰ�����ɣ�������˵�����ɣ�

һ��pillowģ��Ļ�������

Pillow�Ĺ�����ַ��https://pillow.readthedocs.io/en/stable/����ʵ�򿪺�ʲô���У�ֻ�Ƕ���Ӣ�ģ����ڲ���ͬѧ��������ѡ�

python¼ÆËã»úÊÓ¾õѧϰ±Ê¼Ç¡ª¡ªPIL¿âµÄÓ÷¨

PIL��Python Imaging Library���Ѿ���Pythonƽ̨�ϵ�ͼ������׼���ˡ�����PIL��֧�ֵ�Python2.7 ���������ʧ�ޣ�����һȺ־Ը����PIL�Ļ����ϴ����˼��ݵİ汾�����ֽ�Pillow��֧�����°汾��Python3.X���ּ������������ԡ���ˣ����ǿ���ֱ�Ӱ�װʹ��Pillow��

PIL�����漰�Ļ������������¼�����ͨ����bands����ģʽ��mode�����ߴ磨size��������ϵͳ��coordinate system������ɫ�壨palette������Ϣ��info�����˲�����filters����

1.1? ͨ������Image.getbands

ÿ��ͼƬ������һ�����߶������ͨ�����ɡ�PIL�����ڵ���ͼƬ�кϳ���ͬά������ȵĶ��ͨ����

��RGBͼ��Ϊ����ÿ��ͼƬ��������������ͨ�����ɣ��ֱ�ΪR��G��Bͨ���������ڻҶ�ͼ����ֻ��һ��ͨ����

����һ��ͼƬ��ͨ�����������ƣ�����ͨ������getbands()����ȡ������getbands()��Imageģ��ķ��������᷵��һ���ַ���Ԫ�飨tuple������Ԫ�齫����ÿһ��ͨ�������ơ�

Python��Ԫ�����б����ƣ���֮ͬ������Ԫ���Ԫ�ز����޸�,Ԫ��ʹ��С���ţ��б�ʹ�÷����ţ�Ԫ�鴴���ܼ򵥣�ֻ��Ҫ������������Ԫ�أ���ʹ�ö��Ÿ������ɡ�

����getbands()��ʹ�����£�

1.2? ģʽ����Image.mode

ͼ���ģʽ������ͼ������ͺ����ص�λ������ǰ֧������ģʽ��

����ͨ��mode���Զ�ȡͼ���ģʽ���䷵��ֵ�ǰ�������ģʽ���ַ�����

����mode��ʹ�����£�

1.3? �ߴ硪��Image.size

ͨ��size���Կ��Ի�ȡͼƬ�ijߴ硣����һ����Ԫ�飬����ˮƽ�ʹ�ֱ�����ϵ���������

����mode��ʹ�����£�

1.4? ����ϵͳ

��PIL����Pillow���У�ͼ�������ϵͳ��ѭ��������ѧ����ϵ���������Ͻ���ԭ�㣨0, 0����x������������y����������������ζ��ͼ������ϽǾ������� (0, 0) �������½ǵ������� (width-1, height-1) ��

������һ���򵥵�ʾ��˵��PIL������ϵͳ��

���ͼ��

python¼ÆËã»úÊÓ¾õѧϰ±Ê¼Ç¡ª¡ªPIL¿âµÄÓ÷¨

1.5? ��ɫ�� ����Image.palette

��PIL��Python Imaging Library���У���ɫ�壨Palette����һ�����ڴ洢�͹�����ɫӳ��Ļ��ơ���ɫ��ͨ����ͼ���������ɫģʽһ��ʹ�ã�����ζ��ͼ���ÿ������ֵ��ֱ�ӱ�ʾ��ɫ��������Ϊ���������ҵ�ɫ���е�ʵ����ɫ��

�������йص�ɫ���һЩ��Ҫ�����˵����

  1. ������ɫģʽ��

    • ��������ɫģʽ�У�ͼ���ÿ������ֵ����һ����������������Ӧ�ڵ�ɫ���е���ɫ��
    • ͨ����������ɫģʽ���ڽ�ʡ�洢�ռ䣬�ر��Ƕ��ڰ���������ɫ����ͼ��
  2. ��ɫ�����ɣ�

    • ��ɫ����һ��������ɫ��Ϣ�����ݽṹ��ͨ������ɫԪ����ɡ���ɫԪ�������RGB���졢�̡�������ʽ��Ҳ������������ɫ��ʾ��ʽ��
    • ����ÿ����������ɫ���ж���һ����֮��Ӧ����ɫ��
  3. ʹ�õ�ɫ���ͼ���ʽ��

    • һЩ������ʹ�õ�ɫ���ͼ���ʽ����GIF��PNG-8����Щ��ʽ�ڱ���ͼ��ʱʹ�õ�ɫ�壬������ֱ�Ӵ洢ÿ�����ص�������ɫ��Ϣ��
  4. ͼ��ĵ�ɫ�����ԣ�

    • PIL�е�ͼ�������е�ɫ�����ԣ�ͨ�������Կ��Ի�ȡ������ͼ��ĵ�ɫ�塣
    • ʹ�� image.getpalette() �������Ի�ȡͼ��ĵ�ɫ�壬�� image.putpalette() �����������õ�ɫ�塣

������һ���򵥵�ʾ������ʾ���ʹ��PIL�еĵ�ɫ�壺

������Ӵ�����һ����ɫ�壬Ȼ��ʹ��������ɫģʽ������һ��8x8��ͼ�񣬲�ͨ����������ֵ����������ʹ�õ�ɫ���е���ɫ��

1.6? ��Ϣ ����Image.info

ʹ��info���Կ���Ϊһ��ͼƬ����һЩ������Ϣ��������ֵ���󡣼��غͱ���ͼ���ļ�ʱ��������Ϣ��Ҫ����ȡ�����ļ���ʽ��

����info��ʹ�����£�

1.7? �˲���

���ڽ������������ӳ��Ϊһ��������صļ��β�����PIL�ṩ���ĸ���ͬ�IJ����˲�����

Imageģ���еķ��� resize() �� thumbnail()�õ����˲�����

����resize() ��ʹ�����£�

�Բ���filter����ֵ�Ļ�������resize()Ĭ��ʹ��NEAREST�˲��������Ҫʹ�������˲�������ͨ������ķ�����ʵ�֣�

2��Image����

2.1? ʵ��������

ֱ�Ӷ�ȡͼƬ

2.2 ��ʽת������save����

save�������ڱ���ͼ�񣬵���ָ���ļ���ʽʱ��������Ĭ�ϵ�ͼƬ��ʽ���洢�����ָ��ͼƬ��ʽ�������ָ���ĸ�ʽ�洢ͼƬ���﷨���£�

2.3? ��ʽת������Convert����

ע�⣺ �������е�ͼƬ��ʽ�������� save() ����ת����ɣ����罫 PNG ��ʽ��ͼƬ����Ϊ JPG ��ʽ�����ֱ��ʹ�� save() �����ͻ���ִ������������ԭ�������� PNG �� JPG ͼ��ģʽ��һ�µ��µġ����� PNG ����ͨ�� RGBA ģʽ������ɫ����ɫ����ɫ��Alpha ͸��ɫ��JPG ����ͨ�� RGB ģʽ�����Ҫ��ʵ��ͼƬ��ʽ��ת������Ҫ�� PNG ת��Ϊ��ͨ�� RGB ģʽ��

Image ���ṩ�� convert() ��������ʵ��ͼ��ģʽ��ת�����ú����ṩ�˶������������ mode��matrix��dither �ȣ�������ؼ��IJ����� mode����������������

�﷨��

2.4? ͼ������

��ͼ���������о�����������С��Ŵ�ͼ��������Image ���ṩ�� resize() �����ܹ�ʵ��������С�ͷŴ�ͼ��

�﷨��

2.5? ͼ��ķ���ͺϲ�

ͼ��ָ����ͼ�����������ص���ɣ����������ͼ��Ļ�����λ����ÿһ�����ص��ֿ���ʹ�ò�ͬ����ɫ�����ճ��ֳ���Ѥ����ʵ�ͼ�� ����ͼ��ķ�����ϲ���ָ�ľ���ͼ����ɫ�ķ���ͺϲ�

ͼ����룺split����

ʾ����

ͼ��ϲ���merge����

Image ���ṩ�� merge() ��������ʵ��ͼ��ĺϲ�������ע�⣬ͼ��ϲ��������ǵ���ͼ��ϲ���Ҳ���Ժϲ��������ϵ�ͼ��

ʾ����

ͼ��ϲ���blend����

Image ��Ҳ�ṩ�� blend() ��������� RGBA ģʽ��ͼƬ��PNG ��ʽ��

�﷨��

2.6? ͼ��ü�

Image ���ṩ�� crop() �������������Ծ�������ķ�ʽ��ԭͼ����вü�

�﷨��

box ��һ�����ĸ����ֵ�Ԫ����� (x_����,y_����,x1_����,y1_����)���ֱ��ʾ���ü�������������Ͻ� x��y ��������½� x��y ���ꡣĬ�� (0,0) ��ʾ����ԭ�㣬���ȵķ���Ϊ x �ᣬ�߶ȵķ���Ϊ y �ᣬÿ�����ص����һ����λ

3������ʵս

3.1 ͼ������ԵĴ�ӡʾ��

ע�⣺Դ�ļ����ļ���ʽ���������PIL�����Ŀ�ͼ�������ļ���ʽΪNone����?im.format ? string or None

ʾ���������£�

3.2? ʹ��PIL���лҶȻ�+��ֵ��

�������£�

ԭͼͼƬЧ��չʾ��

python¼ÆËã»úÊÓ¾õѧϰ±Ê¼Ç¡ª¡ªPIL¿âµÄÓ÷¨

�ҶȻ�ͼƬЧ��չʾ��

python¼ÆËã»úÊÓ¾õѧϰ±Ê¼Ç¡ª¡ªPIL¿âµÄÓ÷¨

��ֵ��ͼƬЧ��չʾ��

python¼ÆËã»úÊÓ¾õѧϰ±Ê¼Ç¡ª¡ªPIL¿âµÄÓ÷¨

3.2? ͼ��ת��ʾ��

�������£�

С���Ƽ��Ķ�

�������������Ľ�Ϊ������Ϣ����������������ͬ���޹۵��֤ʵ��������

�����Ƶ����

����

ͬ������

����

ɨ��ά�����������ֻ��汾��

ɨ��ά����������΢�Ź��ںţ�

��վ�������������������ϴ��������ַ���İ�Ȩ���뷢�ʼ�[email protected]

��ICP��2022002427��-10 �湫��������43070202000427��© 2013~2025 haote.com ������