目录
pixellib库的简介
pixellib是一个库执行图像分割。它支持两种主要类型的图像分割:语义分割和实例分割,只需几行代码就可以实现语义分段和实例分段。特的特点如下:
- 高质量反色矢量/光栅图形
- 多像素格式:RGB, BGR, ARGB, ABGR, RGBA, BGRA 8 / 15 / 16 / 24 / 32深度
- 重量轻100% C实现
- MMX / SSE2图形优化
官网:https://github.com/ayoolaolafenwa/PixelLib
案例:https://github.com/skywind3000/pixellib
whl文件:https://github.com/ayoolaolafenwa/PixelLib/releases/tag/0.1.0
1、基础案例
Image Transform 图像变换 |
|
Anti Aliasing 抗锯齿 |
|
Image Drawing 图像绘制 |
|
Geometry Render 几何渲染 |
|
Image Warp 图像扭曲 |
|
High Quality Render 高质量渲染 |
pixellib库的安装
1. pip install pixellib 2. pip install pixellib==0.1.0
20211129更新
pip install --upgrade pixellib
1. C:\Users\Administrator>pip show pixellib 2. Name: pixellib 3. Version: 0.1.0 4. Summary: PixelLib is a library for performing semantic and instance segmentation of images using few lines of code. 5. Home-page: https://github.com/ayoolaolafenwa/PixelLib 6. Author: Ayoola Olafenwa 7. Author-email: UNKNOWN 8. License: MIT 9. Location: e:\program files\python\python36\lib\site-packages 10. Requires: 11. Required-by: 12. 13. 14. 15. 16. 17. E:\Program Files\Python>pip install --upgrade pixellib 18. Requirement already satisfied: pixellib in e:\program files\python\python36\lib\site-packages (0.1.0) 19. Collecting pixellib 20. Downloading pixellib-0.7.1-py3-none-any.whl (430 kB) 21. |████████████████████████████████| 430 kB 435 kB/s 22. Requirement already satisfied: opencv-python in e:\program files\python\python36\lib\site-packages (from pixellib) (3.4.1.15) 23. Requirement already satisfied: tabulate in e:\program files\python\python36\lib\site-packages (from pixellib) (0.8.6) 24. Collecting iopath 25. Downloading iopath-0.1.9-py3-none-any.whl (27 kB) 26. Collecting labelme2coco 27. Downloading labelme2coco-0.1.2-py3-none-any.whl (19 kB) 28. Requirement already satisfied: dataclasses in e:\program files\python\python36\lib\site-packages (from pixellib) (0.8) 29. Collecting pydot 30. Downloading pydot-1.4.2-py2.py3-none-any.whl (21 kB) 31. Requirement already satisfied: yacs in e:\program files\python\python36\lib\site-packages (from pixellib) (0.1.6) 32. Requirement already satisfied: fvcore in e:\program files\python\python36\lib\site-packages\fvcore-0.1.dev200108-py3.6.egg (from pixellib) (0.1.dev200108) 33. Requirement already satisfied: pillow in e:\program files\python\python36\lib\site-packages (from pixellib) (8.0.0) 34. Collecting hydra-core 35. Downloading hydra_core-1.1.1-py3-none-any.whl (145 kB) 36. |████████████████████████████████| 145 kB 547 kB/s 37. Collecting omegaconf 38. Downloading omegaconf-2.1.1-py3-none-any.whl (74 kB) 39. |████████████████████████████████| 74 kB 565 kB/s 40. Requirement already satisfied: matplotlib in e:\program files\python\python36\lib\site-packages (from pixellib) (3.3.2) 41. Requirement already satisfied: tqdm in e:\program files\python\python36\lib\site-packages (from pixellib) (4.51.0) 42. Requirement already satisfied: future in e:\program files\python\python36\lib\site-packages (from pixellib) (0.16.0) 43. Requirement already satisfied: scikit-image in e:\program files\python\python36\lib\site-packages (from pixellib) (0.16.2) 44. Collecting imantics 45. Downloading imantics-0.1.12.tar.gz (13 kB) 46. Preparing metadata (setup.py) ... done 47. Requirement already satisfied: imgaug in e:\program files\python\python36\lib\site-packages (from pixellib) (0.2.6) 48. Requirement already satisfied: pyQt5 in e:\program files\python\python36\lib\site-packages (from pixellib) (5.15.6) 49. Requirement already satisfied: termcolor in e:\program files\python\python36\lib\site-packages (from pixellib) (1.1.0) 50. Collecting black 51. Downloading black-21.11b1-py3-none-any.whl (155 kB) 52. |████████████████████████████████| 155 kB 731 kB/s 53. Requirement already satisfied: cloudpickle in e:\program files\python\python36\lib\site-packages\cloudpickle-1.2.2-py3.6.egg (from pixellib) (1.2.2) 54. Requirement already satisfied: Cython in e:\program files\python\python36\lib\site-packages (from pixellib) (0.28.3) 55. Requirement already satisfied: click>=7.1.2 in e:\program files\python\python36\lib\site-packages (from black->pixellib) (7.1.2) 56. Collecting mypy-extensions>=0.4.3 57. Downloading mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB) 58. Collecting platformdirs>=2 59. Downloading platformdirs-2.4.0-py3-none-any.whl (14 kB) 60. Collecting regex>=2021.4.4 61. Downloading regex-2021.11.10-cp36-cp36m-win_amd64.whl (272 kB) 62. |████████████████████████████████| 272 kB 731 kB/s 63. Requirement already satisfied: typing-extensions>=3.10.0.0 in e:\program files\python\python36\lib\site-packages (from black->pixellib) (3.10.0.2) 64. Collecting tomli<2.0.0,>=0.2.6 65. Downloading tomli-1.2.2-py3-none-any.whl (12 kB) 66. Collecting pathspec<1,>=0.9.0 67. Downloading pathspec-0.9.0-py2.py3-none-any.whl (31 kB) 68. Collecting typed-ast>=1.4.2 69. Downloading typed_ast-1.5.0-cp36-cp36m-win_amd64.whl (161 kB) 70. |████████████████████████████████| 161 kB 819 kB/s 71. Collecting pyyaml>=5.1 72. Downloading PyYAML-6.0-cp36-cp36m-win_amd64.whl (153 kB) 73. |████████████████████████████████| 153 kB 544 kB/s 74. Requirement already satisfied: portalocker in e:\program files\python\python36\lib\site-packages (from fvcore->pixellib) (1.5.2) 75. Collecting antlr4-python3-runtime==4.8 76. Downloading antlr4-python3-runtime-4.8.tar.gz (112 kB) 77. |████████████████████████████████| 112 kB 1.1 MB/s 78. Preparing metadata (setup.py) ... done 79. Requirement already satisfied: importlib-resources in e:\program files\python\python36\lib\site-packages (from hydra-core->pixellib) (1.0.2) 80. Requirement already satisfied: numpy in e:\program files\python\python36\lib\site-packages (from imantics->pixellib) (1.19.0) 81. Requirement already satisfied: lxml in e:\program files\python\python36\lib\site-packages (from imantics->pixellib) (4.5.2) 82. Collecting xmljson 83. Downloading xmljson-0.2.1-py2.py3-none-any.whl (10 kB) 84. Requirement already satisfied: scipy in f:\program files\python\python36\lib\site-packages (from imgaug->pixellib) (1.4.1) 85. Requirement already satisfied: six in e:\program files\python\python36\lib\site-packages (from imgaug->pixellib) (1.15.0) 86. Requirement already satisfied: imageio>=2.3.0 in e:\program files\python\python36\lib\site-packages (from scikit-image->pixellib) (2.6.1) 87. Requirement already satisfied: PyWavelets>=0.4.0 in e:\program files\python\python36\lib\site-packages (from scikit-image->pixellib) (0.5.2) 88. Requirement already satisfied: networkx>=2.0 in e:\program files\python\python36\lib\site-packages (from scikit-image->pixellib) (2.5) 89. Requirement already satisfied: certifi>=2020.06.20 in e:\program files\python\python36\lib\site-packages (from matplotlib->pixellib) (2020.6.20) 90. Requirement already satisfied: kiwisolver>=1.0.1 in e:\program files\python\python36\lib\site-packages (from matplotlib->pixellib) (1.0.1) 91. Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in e:\program files\python\python36\lib\site-packages (from matplotlib->pixellib) (2.2.0) 92. Requirement already satisfied: cycler>=0.10 in e:\program files\python\python36\lib\site-packages (from matplotlib->pixellib) (0.10.0) 93. Requirement already satisfied: python-dateutil>=2.1 in e:\program files\python\python36\lib\site-packages (from matplotlib->pixellib) (2.8.1) 94. Requirement already satisfied: jsonschema>=2.6.0 in e:\program files\python\python36\lib\site-packages (from labelme2coco->pixellib) (2.6.0) 95. Requirement already satisfied: PyQt5-Qt5>=5.15.2 in e:\program files\python\python36\lib\site-packages (from pyQt5->pixellib) (5.15.2) 96. Requirement already satisfied: PyQt5-sip<13,>=12.8 in e:\program files\python\python36\lib\site-packages (from pyQt5->pixellib) (12.9.0) 97. Requirement already satisfied: setuptools in f:\program files\python\python36\lib\site-packages (from kiwisolver>=1.0.1->matplotlib->pixellib) (59.3.0) 98. Requirement already satisfied: decorator>=4.3.0 in e:\program files\python\python36\lib\site-packages (from networkx>=2.0->scikit-image->pixellib) (4.3.0) 99. Requirement already satisfied: pywin32!=226 in e:\program files\python\python36\lib\site-packages (from portalocker->fvcore->pixellib) (223) 100. Building wheels for collected packages: antlr4-python3-runtime, imantics 101. Building wheel for antlr4-python3-runtime (setup.py) ... done 102. Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=142057 sha256=7b0051eda214a47b80d05d880c319d864cc75efe34a91532e25cc2476716e4f4 103. Stored in directory: c:\users\administrator\appdata\local\pip\cache\wheels\a8\04\35\9449686f1c26ff16f6224dc942e108329f3782185802ec6b93 104. Building wheel for imantics (setup.py) ... done 105. Created wheel for imantics: filename=imantics-0.1.12-py3-none-any.whl size=17863 sha256=8300b54db38fc774543f10f78c2d582b3643c9f75997fd8e2cc333b93479b9ae 106. Stored in directory: c:\users\administrator\appdata\local\pip\cache\wheels\3a\d0\b5\f483e166e98686953873e045c44c874139085d116cb1fba933 107. Successfully built antlr4-python3-runtime imantics 108. Installing collected packages: pyyaml, antlr4-python3-runtime, xmljson, typed-ast, tomli, regex, platformdirs, pathspec, omegaconf, mypy-extensions, pydot, labelme2coco, iopath, imantics, hydra-core, black, pixellib 109. Attempting uninstall: pyyaml 110. Found existing installation: PyYAML 3.12 111. Uninstalling PyYAML-3.12: 112. Successfully uninstalled PyYAML-3.12 113. Attempting uninstall: pixellib 114. Found existing installation: pixellib 0.1.0 115. Uninstalling pixellib-0.1.0: 116. Successfully uninstalled pixellib-0.1.0 117. ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. 118. slowfast 1.0 requires av, which is not installed. 119. slowfast 1.0 requires detectron2, which is not installed. 120. paddlepaddle 1.6.3 requires matplotlib<=2.2.4, but you have matplotlib 3.3.2 which is incompatible. 121. paddlepaddle 1.6.3 requires numpy<=1.16.4,>=1.12, but you have numpy 1.19.0 which is incompatible. 122. paddlepaddle 1.6.3 requires scipy<=1.2.1,>=0.19.0, but you have scipy 1.4.1 which is incompatible. 123. distributed 2020.12.0 requires cloudpickle>=1.5.0, but you have cloudpickle 1.2.2 which is incompatible. 124. chatterbot-corpus 1.1.1 requires PyYAML<4.0,>=3.12, but you have pyyaml 6.0 which is incompatible. 125. autokeras 0.2.19 requires keras==2.2.2, but you have keras 2.2.4 which is incompatible. 126. autokeras 0.2.19 requires tensorflow==1.10.0, but you have tensorflow 1.11.0 which is incompatible. 127. autokeras 0.2.19 requires torch==0.4.1, but you have torch 1.3.1 which is incompatible. 128. autokeras 0.2.19 requires torchvision==0.2.1, but you have torchvision 0.4.1 which is incompatible. 129. autokeras 0.2.19 requires tqdm==4.25.0, but you have tqdm 4.51.0 which is incompatible. 130. albumentations 0.4.3 requires opencv-python>=4.1.1, but you have opencv-python 3.4.1.15 which is incompatible. 131. Successfully installed antlr4-python3-runtime-4.8 black-21.11b1 hydra-core-1.1.1 imantics-0.1.12 iopath-0.1.9 labelme2coco-0.1.2 mypy-extensions-0.4.3 omegaconf-2.1.1 pathspec-0.9.0 pixellib-0.7.1 platformdirs-2.4.0 pydot-1.4.2 pyyaml-6.0 regex-2021.11.10 tomli-1.2.2 typed-ast-1.5.0 xmljson-0.2.1
升级后导致bug更多,重新降为pixellib==0.1.0
1. C:\Users\Administrator>pip install pixellib==0.1.0 2. Collecting pixellib==0.1.0 3. Downloading pixellib-0.1.0-py3-none-any.whl (39 kB) 4. Installing collected packages: pixellib 5. Attempting uninstall: pixellib 6. Found existing installation: pixellib 0.7.1 7. Uninstalling pixellib-0.7.1: 8. Successfully uninstalled pixellib-0.7.1 9. Successfully installed pixellib-0.1.0
pixellib库的经典案例
1、使用pixellib进行语义分割
pixellib使用Deeplabv3+框架实现,实现语义分割。采用在pascalvoc上预训练的Xception模型进行语义切分。基于xception模型的语义分割在pascalvoc上进行预处理。
- 用于执行语义分段的类是从pixellib导入的,我们创建了该类的一个实例。
- 我们调用函数来加载在pascal voc上训练的xception模型。可以从这里下载xception模型。
- 这是对图像执行分割的代码行,分割是在pascalvoc的颜色格式中完成的。这个函数有两个参数:
path_to_image:要设置的映像的路径。
path_to_output_image:保存输出图像的路径。映像将保存在当前工作目录中。
1. import pixellib 2. from pixellib.semantic import semantic_segmentation 3. 4. segment_image = semantic_segmentation() 5. segment_image.load_pascalvoc_model("deeplabv3_xception_tf_dim_ordering_tf_kernels.h5") 6. segment_image.segmentAsPascalvoc("path_to_image", output_image_name = "path_to_output_image")
文章知识点与官方知识档案匹配,可进一步学习相关知识