123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438 |
- # -*- 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 AipImageSearch(AipBase):
- """
- 图像搜索
- """
- __sameHqAddUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/add'
- __sameHqSearchUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/search'
- __sameHqUpdateUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/update'
- __sameHqDeleteUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/delete'
- __similarAddUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/add'
- __similarSearchUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/search'
- __similarUpdateUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/update'
- __similarDeleteUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/delete'
- __productAddUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/add'
- __productSearchUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/search'
- __productUpdateUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/update'
- __productDeleteUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/delete'
-
- def sameHqAdd(self, image, options=None):
- """
- 相同图检索—入库
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__sameHqAddUrl, data)
-
- def sameHqAddUrl(self, url, options=None):
- """
- 相同图检索—入库
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__sameHqAddUrl, data)
-
- def sameHqSearch(self, image, options=None):
- """
- 相同图检索—检索
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__sameHqSearchUrl, data)
-
- def sameHqSearchUrl(self, url, options=None):
- """
- 相同图检索—检索
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__sameHqSearchUrl, data)
-
- def sameHqUpdate(self, image, options=None):
- """
- 相同图检索—更新
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__sameHqUpdateUrl, data)
-
- def sameHqUpdateUrl(self, url, options=None):
- """
- 相同图检索—更新
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__sameHqUpdateUrl, data)
-
- def sameHqUpdateContSign(self, cont_sign, options=None):
- """
- 相同图检索—更新
- """
- options = options or {}
- data = {}
- data['cont_sign'] = cont_sign
- data.update(options)
- return self._request(self.__sameHqUpdateUrl, data)
-
- def sameHqDeleteByImage(self, image, options=None):
- """
- 相同图检索—删除
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__sameHqDeleteUrl, data)
-
- def sameHqDeleteByUrl(self, url, options=None):
- """
- 相同图检索—删除
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__sameHqDeleteUrl, data)
-
- def sameHqDeleteBySign(self, cont_sign, options=None):
- """
- 相同图检索—删除
- """
- options = options or {}
- data = {}
- data['cont_sign'] = cont_sign
- data.update(options)
- return self._request(self.__sameHqDeleteUrl, data)
-
- def similarAdd(self, image, options=None):
- """
- 相似图检索—入库
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__similarAddUrl, data)
-
- def similarAddUrl(self, url, options=None):
- """
- 相似图检索—入库
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__similarAddUrl, data)
-
- def similarSearch(self, image, options=None):
- """
- 相似图检索—检索
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__similarSearchUrl, data)
-
- def similarSearchUrl(self, url, options=None):
- """
- 相似图检索—检索
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__similarSearchUrl, data)
-
- def similarUpdate(self, image, options=None):
- """
- 相似图检索—更新
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__similarUpdateUrl, data)
-
- def similarUpdateUrl(self, url, options=None):
- """
- 相似图检索—更新
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__similarUpdateUrl, data)
-
- def similarUpdateContSign(self, cont_sign, options=None):
- """
- 相似图检索—更新
- """
- options = options or {}
- data = {}
- data['cont_sign'] = cont_sign
- data.update(options)
- return self._request(self.__similarUpdateUrl, data)
-
- def similarDeleteByImage(self, image, options=None):
- """
- 相似图检索—删除
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__similarDeleteUrl, data)
-
- def similarDeleteByUrl(self, url, options=None):
- """
- 相似图检索—删除
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__similarDeleteUrl, data)
-
- def similarDeleteBySign(self, cont_sign, options=None):
- """
- 相似图检索—删除
- """
- options = options or {}
- data = {}
- data['cont_sign'] = cont_sign
- data.update(options)
- return self._request(self.__similarDeleteUrl, data)
-
- def productAdd(self, image, options=None):
- """
- 商品检索—入库
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__productAddUrl, data)
-
- def productAddUrl(self, url, options=None):
- """
- 商品检索—入库
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__productAddUrl, data)
-
- def productSearch(self, image, options=None):
- """
- 商品检索—检索
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__productSearchUrl, data)
-
- def productSearchUrl(self, url, options=None):
- """
- 商品检索—检索
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__productSearchUrl, data)
-
- def productUpdate(self, image, options=None):
- """
- 商品检索—更新
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__productUpdateUrl, data)
-
- def productUpdateUrl(self, url, options=None):
- """
- 商品检索—更新
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__productUpdateUrl, data)
-
- def productUpdateContSign(self, cont_sign, options=None):
- """
- 商品检索—更新
- """
- options = options or {}
- data = {}
- data['cont_sign'] = cont_sign
- data.update(options)
- return self._request(self.__productUpdateUrl, data)
-
- def productDeleteByImage(self, image, options=None):
- """
- 商品检索—删除
- """
- options = options or {}
- data = {}
- data['image'] = base64.b64encode(image).decode()
- data.update(options)
- return self._request(self.__productDeleteUrl, data)
-
- def productDeleteByUrl(self, url, options=None):
- """
- 商品检索—删除
- """
- options = options or {}
- data = {}
- data['url'] = url
- data.update(options)
- return self._request(self.__productDeleteUrl, data)
-
- def productDeleteBySign(self, cont_sign, options=None):
- """
- 商品检索—删除
- """
- options = options or {}
- data = {}
- data['cont_sign'] = cont_sign
- data.update(options)
- return self._request(self.__productDeleteUrl, data)
-
|