imageprocess.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. # -*- coding: utf-8 -*-
  2. """
  3. 图像处理
  4. """
  5. import re
  6. import sys
  7. import math
  8. import time
  9. from .base import AipBase
  10. from .base import base64
  11. from .base import json
  12. from .base import urlencode
  13. from .base import quote
  14. class AipImageProcess(AipBase):
  15. """
  16. 图像处理
  17. """
  18. __imageQualityEnhanceUrl = 'https://aip.baidubce.com/rest/2.0/image-process/v1/image_quality_enhance'
  19. __dehazeUrl = 'https://aip.baidubce.com/rest/2.0/image-process/v1/dehaze'
  20. __contrastEnhanceUrl = 'https://aip.baidubce.com/rest/2.0/image-process/v1/contrast_enhance'
  21. __colourizeUrl = 'https://aip.baidubce.com/rest/2.0/image-process/v1/colourize'
  22. __stretchRestoreUrl = 'https://aip.baidubce.com/rest/2.0/image-process/v1/stretch_restore'
  23. def imageQualityEnhance(self, image, options=None):
  24. """
  25. 图像无损放大
  26. """
  27. options = options or {}
  28. data = {}
  29. data['image'] = base64.b64encode(image).decode()
  30. data.update(options)
  31. return self._request(self.__imageQualityEnhanceUrl, data)
  32. def dehaze(self, image, options=None):
  33. """
  34. 图像去雾
  35. """
  36. options = options or {}
  37. data = {}
  38. data['image'] = base64.b64encode(image).decode()
  39. data.update(options)
  40. return self._request(self.__dehazeUrl, data)
  41. def contrastEnhance(self, image, options=None):
  42. """
  43. 图像对比度增强
  44. """
  45. options = options or {}
  46. data = {}
  47. data['image'] = base64.b64encode(image).decode()
  48. data.update(options)
  49. return self._request(self.__contrastEnhanceUrl, data)
  50. def colourize(self, image, options=None):
  51. """
  52. 黑白图像上色
  53. """
  54. options = options or {}
  55. data = {}
  56. data['image'] = base64.b64encode(image).decode()
  57. data.update(options)
  58. return self._request(self.__colourizeUrl, data)
  59. def stretchRestore(self, image, options=None):
  60. """
  61. 拉伸图像恢复
  62. """
  63. options = options or {}
  64. data = {}
  65. data['image'] = base64.b64encode(image).decode()
  66. data.update(options)
  67. return self._request(self.__stretchRestoreUrl, data)