使用Python PIL,我试图调整给定图像的色调。 我对graphics的术语并不是很熟悉,所以我所说的“调整色调”的意思是做Photoshop的“色调/饱和度”操作 :这是为了统一改变图像的颜色,如下图所示: 原版的: 色调调整为+180(红色): 色调调整为-78(绿色): 仅供参考,对于此色调设置,Photoshop使用-180至+180的比例(其中-180等于+180),这可以表示HSL色调比例 (以0-360度表示)。 我正在寻找的是一个函数,给定PIL图像和[0,1]内的浮点色调 (或[0,360]内的int)无关紧要,返回图像的色调偏移色调,如上例所示。 到目前为止我所做的是荒谬的,显然没有给出预期的结果。 它只是将我的原始图像与彩色图层混合在一起。 import Image im = Image.open('tweeter.png') layer = Image.new('RGB', im.size, 'red') # "hue" selection is done by choosing a color… output = Image.blend(im, layer, 0.5) output.save('output.png', 'PNG') (请不要笑)结果: 提前致谢! 解决scheme :这里是unutbu代码更新,所以它符合我所描述的。 import Image import numpy as np import colorsys rgb_to_hsv = np.vectorize(colorsys.rgb_to_hsv) hsv_to_rgb […]
我有以下型号: class User(models.Model): name = models.Charfield() email = models.EmailField() class Friendship(models.Model): from_friend = models.ForeignKey(User) to_friend = models.ForeignKey(User) 那些模型用在下面的视图和序列化器中: class GetAllUsers(generics.ListAPIView): authentication_classes = (SessionAuthentication, TokenAuthentication) permission_classes = (permissions.IsAuthenticated,) serializer_class = GetAllUsersSerializer model = User def get_queryset(self): return User.objects.all() class GetAllUsersSerializer(serializers.ModelSerializer): is_friend_already = serializers.SerializerMethodField('get_is_friend_already') class Meta: model = User fields = ('id', 'name', 'email', 'is_friend_already',) def get_is_friend_already(self, […]
我的Python脚本中有下面的代码: def cmd_wui(argv, path_to_tx): """Run a web UI.""" from flask import Flask, flash, jsonify, render_template, request import webbrowser app = Flask(__name__) @app.route('/tx/index/') def index(): """Load start page where you select your project folder or load history projects from local DB.""" from txclib import get_version txc_version = get_version() prj = project.Project(path_to_tx) # Let's create a resource […]
继上一个问题之后, Python的时间到了 ,我现在遇到了关于时区的问题,结果并不总是“+0200”。 所以当strptime试图parsing它时,就会抛出exception。 我想只是用[:-6]或者其他什么来砍掉+0200,但是有没有一种真正的方法可以用strptime来实现呢? 如果它很重要,我正在使用Python 2.5.2。 >>> from datetime import datetime >>> fmt = "%a, %d %b %Y %H:%M:%S +0200" >>> datetime.strptime("Tue, 22 Jul 2008 08:17:41 +0200", fmt) datetime.datetime(2008, 7, 22, 8, 17, 41) >>> datetime.strptime("Tue, 22 Jul 2008 08:17:41 +0300", fmt) Traceback (most recent call last): File "<stdin>", line 1, in <module> File […]
我希望我的Python脚本能够读取Windows中的Unicode命令行参数。 但是看起来sys.argv是一个用本地编码编码的string,而不是Unicode。 我怎样才能读完整的Unicode命令行? 示例代码: argv.py import sys first_arg = sys.argv[1] print first_arg print type(first_arg) print first_arg.encode("hex") print open(first_arg) 在我的PC上设置日文代码页,我得到: C:\temp>argv.py "PC・ソフト申請書08.09.24.doc" PC・ソフト申請書08.09.24.doc <type 'str'> 50438145835c83748367905c90bf8f9130382e30392e32342e646f63 <open file 'PC・ソフト申請書08.09.24.doc', mode 'r' at 0x00917D90> 这是Shift-JIS编码我相信,它“工作”的文件名。 但是,如果文件名不包含Shift-JIS字符集中的字符,则最终的“打开”调用将失败: C:\temp>argv.py Jörgen.txt Jorgen.txt <type 'str'> 4a6f7267656e2e747874 Traceback (most recent call last): File "C:\temp\argv.py", line 7, in <module> print open(first_arg) IOError: [Errno […]
我想从python播放我的歌(mp3),你能给我一个最简单的命令吗? 这是不正确的: import wave w = wave.open("e:/LOCAL/Betrayer/Metalik Klinik1-Anak Sekolah.mp3","r")
在SQLite查询中使用variables值的标准方法是“问号风格”,如下所示: import sqlite3 with sqlite3.connect(":memory:") as connection: connection.execute("CREATE TABLE foo(bar)") connection.execute("INSERT INTO foo(bar) VALUES (?)", ("cow",)) print(list(connection.execute("SELECT * from foo"))) # prints [(u'cow',)] 但是,这只适用于将值代入查询。 用于表名或列名时失败: import sqlite3 with sqlite3.connect(":memory:") as connection: connection.execute("CREATE TABLE foo(?)", ("bar",)) # raises sqlite3.OperationalError: near "?": syntax error sqlite3模块和PEP 249都没有提到转义名称或值的函数。 大概这是为了阻止用户用string来组装他们的查询,但是这让我不知所措。 什么函数或技术最适合在SQLite中为列或表使用variables名? 我宁愿能够做到这一点,没有任何其他的依赖,因为我将在我自己的包装使用它。 我查找了一下,但找不到SQLite语法相关部分的清晰完整的描述,用来写我自己的函数。 我想确保这将适用于SQLite所允许的任何标识符,所以对于我来说,一个反复试验的解决scheme是不太确定的。 SQLite 使用"来引用标识符,但是我不确定只是转义它们就足够了。PHP的sqlite_escape_string函数的文档表明某些二进制数据也可能需要被转义,但这可能是PHP库的怪癖。
Python不会在git bash(Windows)中运行。 当我在命令行中键入python时,它会把我带到一个空白行,并没有说它已经像在Powershell中那样input了python 2.7.10。 它不给我一个错误消息,但python只是不运行。 我已经确定PATH中的环境variables包括c:\python27 。 我还能检查什么? 发生此问题的会话如下所示: user@hostname MINGW64 ~ $ type python python is /c/Python27/python user@hostname MINGW64 ~ $ python 坐在那里,没有回到提示。
我有一个花车列表。 如果我只是简单地print它,就会显示如下: [9.0, 0.052999999999999999, 0.032575399999999997, 0.010892799999999999, 0.055702500000000002, 0.079330300000000006] 我可以使用print "%.2f" ,这将需要一个for循环遍历列表,但是然后它不适用于更复杂的数据结构。 我想喜欢的东西(我完全是这样) >>> import print_options >>> print_options.set_float_precision(2) >>> print [9.0, 0.052999999999999999, 0.032575399999999997, 0.010892799999999999, 0.055702500000000002, 0.079330300000000006] [9.0, 0.05, 0.03, 0.01, 0.06, 0.08]
我在python中做这个交换机的事情,我需要跟踪谁跟谁交谈,所以如果Alice – > Bob,那么这意味着Bob – > Alice。 是的,我可以填充两个哈希映射,但我想知道是否有人有一个想法做一个。 或者build议另一个数据结构。 没有多个对话。 假设这是一个客户服务呼叫中心,所以当Alice拨入交换台时,她只会和Bob通话。 他的答复也仅限于她。