小编Nei*_*eil的帖子

Pillow - 如何使用阈值对图像进行二值化?

我想对 png 图像进行二值化。如果可能的话我想使用枕头。我见过使用两种方法:

image_file = Image.open("convert_image.png") # open colour image
image_file = image_file.convert('1') # convert image to black and white
Run Code Online (Sandbox Code Playgroud)

此方法似乎通过抖动图像来处理填充浅色的区域。我不想要这种行为。例如,如果有一个浅黄色圆圈,我希望它变成一个黑色圆圈。

更一般地说,如果像素的 RGB 是 (x,y,z),如果 x<=t OR y<=t OR z<=t 对于某个阈值 0<t<255,我希望像素变黑

我可以将图像转换为灰度或 RGB,然后手动应用阈值测试,但这似乎效率低下。

我见过的第二种方法是这样的:

threshold = 100
im = im2.point(lambda p: p > threshold and 255)
Run Code Online (Sandbox Code Playgroud)

这里我不知道这是如何工作的,也不知道阈值是什么或在这里做什么以及“and 255”做什么。

我正在寻找如何应用方法 2 的解释或使用 Pillow 的替代方法。

python python-imaging-library binary-image

5
推荐指数
1
解决办法
1万
查看次数

Github 密钥策略更新后,来自 Github 的 Pip 安装中断

我通常会使用(例如)从 Github 安装 Python 存储库:

\n
pip install git+git://github.com/Artory/drf-hal-json@master\n
Run Code Online (Sandbox Code Playgroud)\n

一致地,我的“requirements.txt”会git+git://github.com/Artory/drf-hal-json@master在其中的某个地方。

\n

今天这个失败了。完整的回溯如下,但相关部分是:

\n
The unauthenticated git protocol on port 9418 is no longer supported.\n
Run Code Online (Sandbox Code Playgroud)\n

谢谢微软。回溯指向有关更新的链接。链接中的大部分页面都讨论了更新不太可能影响很多人(再次感谢微软),其余部分涉及我太菜鸟无法理解的密码学。标题为“git://”的部分简单地写着:

\n
\n

在 Git 协议方面,未加密的 git:// 不提供完整性或身份验证,使其容易被篡改。我们预计很少有人仍在使用此协议,特别是考虑到您可以推送(它在 GitHub 上为只读)。我们\xe2\x80\x99 将禁用对此协议的支持。

\n
\n

这并不能帮助我了解如何更新我的requirements.txt以使其再次工作。您能告诉我如何更新我的requirements.txt以使其再次工作吗?完整回溯如下:

\n
(venv) neil~/Documents/Code/web_app$ pip install git+git://github.com/Artory/drf-hal-json@master\nCollecting git+git://github.com/Artory/drf-hal-json@master\n  Cloning git://github.com/Artory/drf-hal-json (to revision master) to /tmp/pip-req-build-zowfe130\n  Running command git clone -q git://github.com/Artory/drf-hal-json /tmp/pip-req-build-zowfe130\n  fatal: remote error:\n    The unauthenticated git protocol on port 9418 is no longer supported.\n  Please …
Run Code Online (Sandbox Code Playgroud)

python git pip github ssh-keys

5
推荐指数
1
解决办法
5430
查看次数

如何使用 AWS 证书管理器验证域

我拥有通过 GoDaddy 购买的域名。我正在尝试使用证书管理器通过 AWS 获取该域的证书。如果相关,获取证书的目的是能够使用本教程在 S3 上托管包存储库:https ://november Five.co/blog/opensource-pypi-package-repository-tutorial/

到目前为止,我无法验证我的域名。我们将域名命名为 foo.com 我尝试了以下操作:

  • 通过 DNS 验证,我创建了一个 CName,其中“repo.foo.com”作为 GoDaddy 中的“主机”字段,并使用 AWS 域配置文件提供的“记录名称”作为 GoDaddy 上的“指向”字段。
  • 也尝试了与上面相同的方法,但使用了 AWS 在 GoDaddy 的“指向”字段中提供的“记录值”。AWS 所说的只是“在 DNS 配置中为下面列出的每个域创建 CNAME 记录。”然后您可以下载一个包含“记录名称”、“记录值”和“域名”的 DNS 配置文件。因此,我根本不清楚如何将什么值映射到什么。上述这些方法都没有奏效。
  • 通过电子邮件验证。我已经检查了用于注册域的电子邮件地址,并为该域创建了一个电子邮件地址并进行了检查。两人都没有收到电子邮件。
  • 我看了大约 5 个教程。他们都使用了电子邮件验证,并且没有指定他们使用的电子邮件地址,也没有指定 AWS 如何知道该电子邮件是与域“关联”的电子邮件(“关联”到底是什么意思?注册电子邮件?网站电子邮件?两者都没有)这些已经起作用了)。

请帮忙?我如何验证?

domain-name amazon-web-services python-3.x aws-certificate-manager

4
推荐指数
1
解决办法
9271
查看次数

烧瓶静息分页

我需要在很短的期限内将一个非常简单的API组合在一起。烧瓶安宁似乎很理想,除了以下几点:我在分页文档中找不到任何内容。给定一个像这样的简单端点:

from flask import Flask, request 
from flask_restful import Resource, Api 
from sqlalchemy import create_engine
import json 

app = Flask(__name__)
api = Api(app)

class Employees(Resource):
    def get(self):
        return json.dumps([{'employees': 'hello world'} for i in range(1000)])

api.add_resource(Employees, '/employees')

if __name__ == '__main__':
    app.run(port='5002')
Run Code Online (Sandbox Code Playgroud)

有什么办法可以使flask_restful对端点进行分页,以便每页仅接收100个这样的字典,并具有“下一个”和“上一个”的URL?如果不是,是否有可能在Flask中以其他方式创建分页?谢谢。

python flask flask-restful

4
推荐指数
1
解决办法
2271
查看次数

使用多个关键字对象引用的 Django Rest Framework 对象

我有一个模型,它对两个字段有唯一的约束:

class Document(models.Model):
    filename = models.CharField(max_length=255)
    publication = models.CharField(max_length=8)

    class Meta:
        constraints = [
                models.UniqueConstraint(
                    fields=['filename', 'publication'], name='document_key')
Run Code Online (Sandbox Code Playgroud)

根据DRF GenericAPIView get_object方法中的文档:

    """
    Returns the object the view is displaying.
    You may want to override this if you need to provide non-standard
    queryset lookups.  Eg if objects are referenced using multiple
    keyword arguments in the url conf.
    """
Run Code Online (Sandbox Code Playgroud)

使用多个关键字参数引用正是我想要做的。我已经开始重写 get_object 方法

class DocumentViewset(viewsets.ModelViewSet):
    serializer_class = serializers.ActSerializer 
    lookup_fields = ('filename', 'publication')

    def get_object(self):
        """As per the example in the DRF …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

4
推荐指数
1
解决办法
1600
查看次数

用于一次性可迭代的列表或元组

某些 Python 内置函数(例如anyall)需要可迭代参数。我遇到的一个常见模式是我通过函数调用链接创建可迭代对象。例如:

locations = ["foo", "bar", "baz"]
if any(["city" in location for location in locations]):
    print("Locations includes a city")
Run Code Online (Sandbox Code Playgroud)

用元组来做这件事有什么好处吗?

locations = ["foo", "bar", "baz"]
if any(("city" in location for location in locations)):
    print("Locations includes a city")
Run Code Online (Sandbox Code Playgroud)

...在内存使用或执行时间方面?

python tuples list

2
推荐指数
1
解决办法
36
查看次数