huaweicloud-sdk-python-v3/huaweicloud-sdk-moderation/huaweicloudsdkmoderation/v2/model/image_detection_req.py

290 lines
15 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding: utf-8
import six
from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
class ImageDetectionReq:
"""
Attributes:
openapi_types (dict): The key is attribute name
and the value is attribute type.
attribute_map (dict): The key is attribute name
and the value is json key in definition.
"""
sensitive_list = []
openapi_types = {
'url': 'str',
'image': 'str',
'moderation_rule': 'str',
'categories': 'list[str]',
'ad_categories': 'list[str]',
'threshold': 'float',
'show_ocr_text': 'bool'
}
attribute_map = {
'url': 'url',
'image': 'image',
'moderation_rule': 'moderation_rule',
'categories': 'categories',
'ad_categories': 'ad_categories',
'threshold': 'threshold',
'show_ocr_text': 'show_ocr_text'
}
def __init__(self, url=None, image=None, moderation_rule=None, categories=None, ad_categories=None, threshold=None, show_ocr_text=None):
"""ImageDetectionReq
The model defined in huaweicloud sdk
:param url: 与image二选一 图片的URL路径目前支持 - 公网HTTP/HTTPS URL - 华为云OBS提供的URL使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权。详请参见[配置OBS访问权限](https://support.huaweicloud.com/api-moderation/moderation_03_0020.html)。 > - 接口响应时间依赖图片的下载时间如果图片下载时间过长会返回接口调用失败。请保证被检测图片所在的存储服务稳定可靠建议您使用华为云OBS存储。
:type url: str
:param image: 与url二选一 图片文件Base64编码字符串。要求base64编码后大小不超过10M。 政治人物检测人脸部分不小于50*50像素。 支持JPEG/PNG/BMP/WEBP/GIF格式。
:type image: str
:param moderation_rule: 图像审核规则名称默认使用default规则。 > 审核规则的创建和使用请参见[配置审核规则](https://support.huaweicloud.com/api-moderation/moderation_03_0063.html)
:type moderation_rule: str
:param categories: 检测场景: - politics是否涉及政治人物的检测。 - terrorism是否包含涉政暴恐元素的检测。 - porn是否包含涉黄内容元素的检测。 - ad是否包含广告的检测公测特性。 - all包含politics、terrorism和porn三种场景的检测。 可通过配置上述场景,来完对应场景元素的检测。 为空或无此参数表示politics和terrorism都检测但不包含porn场景。 > 每个检测场景的检测次数会分类统计。
:type categories: list[str]
:param ad_categories: 图文审核检测场景。当categories包含ad时该参数生效。 当前支持的场景有系统场景和用户自定义场景: - 系统场景为: - qr_code二维码 - politics涉政 - porn涉黄 - ad广告 - abuse辱骂 - contraband违禁品 - 用户自定义场景为:自定义黑名单词库。 > 自定义词库的创建和使用请参见[配置自定义词库](https://support.huaweicloud.com/api-moderation/moderation_03_0020.html)。
:type ad_categories: list[str]
:param threshold: - 结果过滤门限只有置信度不低于此门限的结果才会呈现在detail的列表中取值范围 0-1当未设置此值时各个检测场景会使用各自的默认值。 - politics检测场景的默认值为0.95。 - terrorism检测场景的默认值为0。 - ad检测场景的默认值为0。 - 无特殊需求直接不传此参数或像示例中一样值设为空字符串即可。 > - 如果检测场景中的最高置信度也未达到threshold则结果列表为空反之threshold过小则会使结果列表中内容过多。 > - threshold参数不支持porn场景筛选。 > - threshold参数不会影响响应中的suggestion。
:type threshold: float
:param show_ocr_text: 是否返回ocr识别结果默认为false。
:type show_ocr_text: bool
"""
self._url = None
self._image = None
self._moderation_rule = None
self._categories = None
self._ad_categories = None
self._threshold = None
self._show_ocr_text = None
self.discriminator = None
if url is not None:
self.url = url
if image is not None:
self.image = image
if moderation_rule is not None:
self.moderation_rule = moderation_rule
if categories is not None:
self.categories = categories
if ad_categories is not None:
self.ad_categories = ad_categories
if threshold is not None:
self.threshold = threshold
if show_ocr_text is not None:
self.show_ocr_text = show_ocr_text
@property
def url(self):
"""Gets the url of this ImageDetectionReq.
与image二选一 图片的URL路径目前支持 - 公网HTTP/HTTPS URL - 华为云OBS提供的URL使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权。详请参见[配置OBS访问权限](https://support.huaweicloud.com/api-moderation/moderation_03_0020.html)。 > - 接口响应时间依赖图片的下载时间如果图片下载时间过长会返回接口调用失败。请保证被检测图片所在的存储服务稳定可靠建议您使用华为云OBS存储。
:return: The url of this ImageDetectionReq.
:rtype: str
"""
return self._url
@url.setter
def url(self, url):
"""Sets the url of this ImageDetectionReq.
与image二选一 图片的URL路径目前支持 - 公网HTTP/HTTPS URL - 华为云OBS提供的URL使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权。详请参见[配置OBS访问权限](https://support.huaweicloud.com/api-moderation/moderation_03_0020.html)。 > - 接口响应时间依赖图片的下载时间如果图片下载时间过长会返回接口调用失败。请保证被检测图片所在的存储服务稳定可靠建议您使用华为云OBS存储。
:param url: The url of this ImageDetectionReq.
:type url: str
"""
self._url = url
@property
def image(self):
"""Gets the image of this ImageDetectionReq.
与url二选一 图片文件Base64编码字符串。要求base64编码后大小不超过10M。 政治人物检测人脸部分不小于50*50像素。 支持JPEG/PNG/BMP/WEBP/GIF格式。
:return: The image of this ImageDetectionReq.
:rtype: str
"""
return self._image
@image.setter
def image(self, image):
"""Sets the image of this ImageDetectionReq.
与url二选一 图片文件Base64编码字符串。要求base64编码后大小不超过10M。 政治人物检测人脸部分不小于50*50像素。 支持JPEG/PNG/BMP/WEBP/GIF格式。
:param image: The image of this ImageDetectionReq.
:type image: str
"""
self._image = image
@property
def moderation_rule(self):
"""Gets the moderation_rule of this ImageDetectionReq.
图像审核规则名称默认使用default规则。 > 审核规则的创建和使用请参见[配置审核规则](https://support.huaweicloud.com/api-moderation/moderation_03_0063.html)
:return: The moderation_rule of this ImageDetectionReq.
:rtype: str
"""
return self._moderation_rule
@moderation_rule.setter
def moderation_rule(self, moderation_rule):
"""Sets the moderation_rule of this ImageDetectionReq.
图像审核规则名称默认使用default规则。 > 审核规则的创建和使用请参见[配置审核规则](https://support.huaweicloud.com/api-moderation/moderation_03_0063.html)
:param moderation_rule: The moderation_rule of this ImageDetectionReq.
:type moderation_rule: str
"""
self._moderation_rule = moderation_rule
@property
def categories(self):
"""Gets the categories of this ImageDetectionReq.
检测场景: - politics是否涉及政治人物的检测。 - terrorism是否包含涉政暴恐元素的检测。 - porn是否包含涉黄内容元素的检测。 - ad是否包含广告的检测公测特性。 - all包含politics、terrorism和porn三种场景的检测。 可通过配置上述场景,来完对应场景元素的检测。 为空或无此参数表示politics和terrorism都检测但不包含porn场景。 > 每个检测场景的检测次数会分类统计。
:return: The categories of this ImageDetectionReq.
:rtype: list[str]
"""
return self._categories
@categories.setter
def categories(self, categories):
"""Sets the categories of this ImageDetectionReq.
检测场景: - politics是否涉及政治人物的检测。 - terrorism是否包含涉政暴恐元素的检测。 - porn是否包含涉黄内容元素的检测。 - ad是否包含广告的检测公测特性。 - all包含politics、terrorism和porn三种场景的检测。 可通过配置上述场景,来完对应场景元素的检测。 为空或无此参数表示politics和terrorism都检测但不包含porn场景。 > 每个检测场景的检测次数会分类统计。
:param categories: The categories of this ImageDetectionReq.
:type categories: list[str]
"""
self._categories = categories
@property
def ad_categories(self):
"""Gets the ad_categories of this ImageDetectionReq.
图文审核检测场景。当categories包含ad时该参数生效。 当前支持的场景有系统场景和用户自定义场景: - 系统场景为: - qr_code二维码 - politics涉政 - porn涉黄 - ad广告 - abuse辱骂 - contraband违禁品 - 用户自定义场景为:自定义黑名单词库。 > 自定义词库的创建和使用请参见[配置自定义词库](https://support.huaweicloud.com/api-moderation/moderation_03_0020.html)。
:return: The ad_categories of this ImageDetectionReq.
:rtype: list[str]
"""
return self._ad_categories
@ad_categories.setter
def ad_categories(self, ad_categories):
"""Sets the ad_categories of this ImageDetectionReq.
图文审核检测场景。当categories包含ad时该参数生效。 当前支持的场景有系统场景和用户自定义场景: - 系统场景为: - qr_code二维码 - politics涉政 - porn涉黄 - ad广告 - abuse辱骂 - contraband违禁品 - 用户自定义场景为:自定义黑名单词库。 > 自定义词库的创建和使用请参见[配置自定义词库](https://support.huaweicloud.com/api-moderation/moderation_03_0020.html)。
:param ad_categories: The ad_categories of this ImageDetectionReq.
:type ad_categories: list[str]
"""
self._ad_categories = ad_categories
@property
def threshold(self):
"""Gets the threshold of this ImageDetectionReq.
- 结果过滤门限只有置信度不低于此门限的结果才会呈现在detail的列表中取值范围 0-1当未设置此值时各个检测场景会使用各自的默认值。 - politics检测场景的默认值为0.95。 - terrorism检测场景的默认值为0。 - ad检测场景的默认值为0。 - 无特殊需求直接不传此参数或像示例中一样值设为空字符串即可。 > - 如果检测场景中的最高置信度也未达到threshold则结果列表为空反之threshold过小则会使结果列表中内容过多。 > - threshold参数不支持porn场景筛选。 > - threshold参数不会影响响应中的suggestion。
:return: The threshold of this ImageDetectionReq.
:rtype: float
"""
return self._threshold
@threshold.setter
def threshold(self, threshold):
"""Sets the threshold of this ImageDetectionReq.
- 结果过滤门限只有置信度不低于此门限的结果才会呈现在detail的列表中取值范围 0-1当未设置此值时各个检测场景会使用各自的默认值。 - politics检测场景的默认值为0.95。 - terrorism检测场景的默认值为0。 - ad检测场景的默认值为0。 - 无特殊需求直接不传此参数或像示例中一样值设为空字符串即可。 > - 如果检测场景中的最高置信度也未达到threshold则结果列表为空反之threshold过小则会使结果列表中内容过多。 > - threshold参数不支持porn场景筛选。 > - threshold参数不会影响响应中的suggestion。
:param threshold: The threshold of this ImageDetectionReq.
:type threshold: float
"""
self._threshold = threshold
@property
def show_ocr_text(self):
"""Gets the show_ocr_text of this ImageDetectionReq.
是否返回ocr识别结果默认为false。
:return: The show_ocr_text of this ImageDetectionReq.
:rtype: bool
"""
return self._show_ocr_text
@show_ocr_text.setter
def show_ocr_text(self, show_ocr_text):
"""Sets the show_ocr_text of this ImageDetectionReq.
是否返回ocr识别结果默认为false。
:param show_ocr_text: The show_ocr_text of this ImageDetectionReq.
:type show_ocr_text: bool
"""
self._show_ocr_text = show_ocr_text
def to_dict(self):
"""Returns the model properties as a dict"""
result = {}
for attr, _ in six.iteritems(self.openapi_types):
value = getattr(self, attr)
if isinstance(value, list):
result[attr] = list(map(
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
value
))
elif hasattr(value, "to_dict"):
result[attr] = value.to_dict()
elif isinstance(value, dict):
result[attr] = dict(map(
lambda item: (item[0], item[1].to_dict())
if hasattr(item[1], "to_dict") else item,
value.items()
))
else:
if attr in self.sensitive_list:
result[attr] = "****"
else:
result[attr] = value
return result
def to_str(self):
"""Returns the string representation of the model"""
import simplejson as json
if six.PY2:
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
def __repr__(self):
"""For `print`"""
return self.to_str()
def __eq__(self, other):
"""Returns true if both objects are equal"""
if not isinstance(other, ImageDetectionReq):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
"""Returns true if both objects are not equal"""
return not self == other