看起来我似乎在理解图像在 numpy 数组中的表示方式方面存在一些根本性的差距。
img = np.ones([100,100,3], dtype=np.uint8)*255
plt.imshow(img)
Run Code Online (Sandbox Code Playgroud)
上面的代码创建了一个“白色”的 3 通道图像。
每个像素都有值 [255,255,255]
明白了。
现在我想创建一个“白色”灰度图像。我真的不需要 RGB 通道来存储白色图像,是吗?
img_bw = np.ones([100,100], dtype=np.uint8)*255
plt.imshow(img_bw, cmap = "gray")
Run Code Online (Sandbox Code Playgroud)
即使每个像素位置的值为 255,这也会创建一个“黑色图像”?
好的,让我拿我之前的 3 通道白色图像并将其转换为灰度,看看 numpy 数组是什么样的。
img_bw1 = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
plt.imshow(img_bw1, cmap = "gray")
Run Code Online (Sandbox Code Playgroud)
这也给了我一个“黑色图像”?
那么灰度“白色图像”的 numpy 矩阵到底是什么样的呢?
img = io.imread("https://www.colorcombos.com/images/colors/FFFFFF.png" , as_grey=True)
plt.imshow(img*255, cmap = "gray")
Run Code Online (Sandbox Code Playgroud)
这是一张白色的图像。该矩阵中的每个像素的值都为 216 及以上
plt.imshow(img, cmap = "gray")
Run Code Online (Sandbox Code Playgroud)
这也是一个白色的图像。该矩阵中的每个像素的值都为 0.86 及以上。
我完全迷路了。
问题 -
如何在 numpy 中创建灰度二维白色图像?
为什么不使用 cv2.Color 将 numpy 中的 3 通道白色图像转换为灰度图像给我一个白色图像?
我正在努力为我和我的朋友们制作一个有趣的机器人。我想要一个命令来说明作者的用户名是什么,带或不带标签。我尝试查找如何执行此操作,但没有一个适用于我的代码当前设置的方式。
import discord
client = discord.Client()
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('$WhoAmI'):
##gets author.
await message.channel.send('You are', username)
client.run('token')
Run Code Online (Sandbox Code Playgroud)
我希望这是有道理的,我见过的所有代码都使用ctx
或@client.command
有没有办法在启动mpv
后从 中获取当前播放文件的完整路径mpv
?
我看到了这个问题,但它没有显示如何获取属性,只是如何发送命令。
编辑:通过“获取完整路径”,我的意思是从编程开始;从另一个程序或终端,而不是通过mpv
在mpv
应用程序本身上使用命令/键绑定。
itertools.list(product([0, 1], repeat=n))
当n很小时,我可以构造一个n长度二进制值组合的列表.
1000
0100
0110
1001
.
.
.
Run Code Online (Sandbox Code Playgroud)
当n很大时,如何在不首先构建大量组合列表的情况下随机选择上面列表的子集?
假设我想在n = 30时随机选择100万个组合而不进行替换(总共2 ^ 30个组合)
我查看了itertools的扩展函数http://docs.python.org/2/library/itertools.html#recipes
def random_product(*args, **kwds):
"Random selection from itertools.product(*args, **kwds)"
pools = map(tuple, args) * kwds.get('repeat', 1)
return tuple(random.choice(pool) for pool in pools)
Run Code Online (Sandbox Code Playgroud)
但它一次只返回一次.在获得100万个独特组合之前,我应该循环使用此功能吗?或者有更好的方法.谢谢!
我有一个 Python 格式的日期框列YYMM
。例如January 1996
是9601
。
我很难将其从 9601 转换为可用的日期时间格式。我希望新的格式是01-01-1996
. 有没有人有什么建议?我尝试了pd.to_datetime
功能,但没有得到我想要的结果。
python ×4
combinations ×1
datetime ×1
discord.py ×1
linux ×1
mpv ×1
numpy ×1
opencv ×1
pandas ×1
python-3.x ×1
random ×1
scikit-image ×1