# -*- coding: utf-8 -*-
|
|
"""
|
图像处理
|
"""
|
|
import re
|
import sys
|
import math
|
import time
|
from .base import AipBase
|
from .base import base64
|
from .base import json
|
from .base import urlencode
|
from .base import quote
|
|
class AipImageProcess(AipBase):
|
|
"""
|
图像处理
|
"""
|
|
__imageQualityEnhanceUrl = 'https://aip.baidubce.com/rest/2.0/image-process/v1/image_quality_enhance'
|
|
__dehazeUrl = 'https://aip.baidubce.com/rest/2.0/image-process/v1/dehaze'
|
|
__contrastEnhanceUrl = 'https://aip.baidubce.com/rest/2.0/image-process/v1/contrast_enhance'
|
|
__colourizeUrl = 'https://aip.baidubce.com/rest/2.0/image-process/v1/colourize'
|
|
__stretchRestoreUrl = 'https://aip.baidubce.com/rest/2.0/image-process/v1/stretch_restore'
|
|
__styleTrans = "https://aip.baidubce.com/rest/2.0/image-process/v1/style_trans"
|
|
__inpainting = "https://aip.baidubce.com/rest/2.0/image-process/v1/inpainting"
|
|
__imageDefinitionEnhance = "https://aip.baidubce.com/rest/2.0/image-process/v1/image_definition_enhance"
|
|
__selfieAnime = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"
|
|
__skySeg = "https://aip.baidubce.com/rest/2.0/image-process/v1/sky_seg"
|
|
__colorEnhances = "https://aip.baidubce.com/rest/2.0/image-process/v1/color_enhance"
|
|
__removeMoireV1Url = 'https://aip.baidubce.com/rest/2.0/image-process/v1/remove_moire'
|
__customizeStylizationV1Url = 'https://aip.baidubce.com/rest/2.0/image-process/v1/customize_stylization'
|
__docRepairV1Url = 'https://aip.baidubce.com/rest/2.0/image-process/v1/doc_repair'
|
__denoiseV1Url = 'https://aip.baidubce.com/rest/2.0/image-process/v1/denoise'
|
|
|
|
def imageQualityEnhance(self, image, options=None):
|
"""
|
图像无损放大
|
"""
|
options = options or {}
|
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
|
data.update(options)
|
|
return self._request(self.__imageQualityEnhanceUrl, data)
|
|
def dehaze(self, image, options=None):
|
"""
|
图像去雾
|
"""
|
options = options or {}
|
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
|
data.update(options)
|
|
return self._request(self.__dehazeUrl, data)
|
|
def contrastEnhance(self, image, options=None):
|
"""
|
图像对比度增强
|
"""
|
options = options or {}
|
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
|
data.update(options)
|
|
return self._request(self.__contrastEnhanceUrl, data)
|
|
def colourize(self, image, options=None):
|
"""
|
黑白图像上色
|
"""
|
options = options or {}
|
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
|
data.update(options)
|
|
return self._request(self.__colourizeUrl, data)
|
|
def stretchRestore(self, image, options=None):
|
"""
|
拉伸图像恢复
|
"""
|
options = options or {}
|
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
|
data.update(options)
|
|
return self._request(self.__stretchRestoreUrl, data)
|
|
|
def selfieAnime(self, image, options=None):
|
"""
|
人像动漫化
|
"""
|
options = options or {}
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
data.update(options)
|
return self._request(self.__selfieAnime, data)
|
|
def imageDefinitionEnhance(self, image, options=None):
|
"""
|
图像清晰度增强
|
"""
|
options = options or {}
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
data.update(options)
|
return self._request(self.__imageDefinitionEnhance, data)
|
|
def styleTrans(self, image, options=None):
|
"""
|
图像风格转换
|
"""
|
options = options or {}
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
data.update(options)
|
return self._request(self.__styleTrans, data)
|
|
|
def skySeg(self, image, options=None):
|
"""
|
天空分割
|
"""
|
options = options or {}
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
data.update(options)
|
return self._request(self.__skySeg, data)
|
|
def inpaintingByMask(self, image, rectangle, options=None):
|
"""
|
图像修复
|
"""
|
options = options or {}
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
data['rectangle'] = rectangle
|
data.update(options)
|
return self._request(self.__inpainting, data)
|
|
|
def removeMoireV1(self, image, options=None):
|
"""
|
图片去摩尔纹
|
接口使用说明文档: https://ai.baidu.com/ai-doc/IMAGEPROCESS/ql4wdlnc0
|
"""
|
options = options or {}
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
data.update(options)
|
return self._request(self.__removeMoireV1Url, data)
|
|
def removeMoireV1Url(self, url, options=None):
|
"""
|
图片去摩尔纹 - url
|
接口使用说明文档: https://ai.baidu.com/ai-doc/IMAGEPROCESS/ql4wdlnc0
|
"""
|
options = options or {}
|
data = {}
|
data['url'] = url
|
data.update(options)
|
return self._request(self.__removeMoireV1Url, data)
|
|
def removeMoireV1Pdf(self, pdf, options=None):
|
"""
|
图片去摩尔纹 - pdf
|
接口使用说明文档: https://ai.baidu.com/ai-doc/IMAGEPROCESS/ql4wdlnc0
|
"""
|
options = options or {}
|
data = {}
|
data['pdf_file'] = base64.b64encode(pdf).decode()
|
data.update(options)
|
return self._request(self.__removeMoireV1Url, data)
|
|
def customizeStylizationV1(self, image, options=None):
|
"""
|
图像风格自定义
|
接口使用说明文档: https://ai.baidu.com/ai-doc/IMAGEPROCESS/al50vf6bq
|
"""
|
options = options or {}
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
data.update(options)
|
return self._request(self.__customizeStylizationV1Url, data)
|
|
def customizeStylizationV1Url(self, url, options=None):
|
"""
|
图像风格自定义 - url
|
接口使用说明文档: https://ai.baidu.com/ai-doc/IMAGEPROCESS/al50vf6bq
|
"""
|
options = options or {}
|
data = {}
|
data['url'] = url
|
data.update(options)
|
return self._request(self.__customizeStylizationV1Url, data)
|
|
def docRepairV1(self, image, options=None):
|
"""
|
文档图片去底纹
|
接口使用说明文档: https://ai.baidu.com/ai-doc/IMAGEPROCESS/Nl6os53ab
|
"""
|
options = options or {}
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
data.update(options)
|
return self._request(self.__docRepairV1Url, data)
|
|
def docRepairV1Url(self, url, options=None):
|
"""
|
文档图片去底纹 - url
|
接口使用说明文档: https://ai.baidu.com/ai-doc/IMAGEPROCESS/Nl6os53ab
|
"""
|
options = options or {}
|
data = {}
|
data['url'] = url
|
data.update(options)
|
return self._request(self.__docRepairV1Url, data)
|
|
def denoiseV1(self, image, option, options=None):
|
"""
|
图像去噪
|
接口使用说明文档: https://ai.baidu.com/ai-doc/IMAGEPROCESS/Tl78sby7g
|
"""
|
options = options or {}
|
data = {}
|
data['image'] = base64.b64encode(image).decode()
|
data['option'] = option
|
data.update(options)
|
return self._request(self.__denoiseV1Url, data)
|
|
def denoiseV1Url(self, url, option, options=None):
|
"""
|
图像去噪 - url
|
接口使用说明文档: https://ai.baidu.com/ai-doc/IMAGEPROCESS/Tl78sby7g
|
"""
|
options = options or {}
|
data = {}
|
data['url'] = url
|
data['option'] = option
|
data.update(options)
|
return self._request(self.__denoiseV1Url, data)
|