我在 python 中编写了一个小脚本,我试图提取或裁剪扑克牌中仅代表艺术品的部分,删除所有其余部分。我一直在尝试各种阈值方法,但无法到达那里。另请注意,我不能简单地手动记录艺术品的位置,因为它并不总是处于相同的位置或大小,而是始终处于矩形形状,而其他一切都只是文本和边框。
from matplotlib import pyplot as plt
import cv2
img = cv2.imread(filename)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,binary = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU | cv2.THRESH_BINARY)
binary = cv2.bitwise_not(binary)
kernel = np.ones((15, 15), np.uint8)
closing = cv2.morphologyEx(binary, cv2.MORPH_OPEN, kernel)
plt.imshow(closing),plt.show()
Run Code Online (Sandbox Code Playgroud)
当前的输出是我能得到的最接近的东西。我可以在正确的方式上尝试进一步争论以在白色部分周围绘制一个矩形,但我认为这不是一种可持续的方法:
最后一点,请参阅下面的卡片,并非所有框架的大小或位置都完全相同,但总会有一件艺术品,周围只有文字和边框。它不必非常精确地切割,但很明显,艺术是卡片的一个“区域”,被包含一些文本的其他区域包围。我的目标是尽可能地捕捉艺术品的区域。
我有这个线程正在运行:
def run(self):
while 1:
msg = self.connection.recv(1024).decode()
Run Code Online (Sandbox Code Playgroud)
我希望当我关闭 Tkinter 窗口时可以结束这个线程,如下所示:
self.window.protocol('WM_DELETE_WINDOW', self.closeThreads)
def closeThreads(self):
self.game.destroy()
#End the thread
Run Code Online (Sandbox Code Playgroud)
不能使用 thread._close() 因为它已被弃用并且 python 3.4 不允许它。
我正在使用python开发一个客户端 - 服务器游戏,我想了解更多有关端口转发的信息.
我正在做的是去我的路由器(192.168.0.1)
并配置它以允许我的真实IP地址的请求被重定向到我的本地地址192.168.0.X.
它工作得很好.但我想知道我是否可以通过自动编码来做到这一点?
我认为skype就像一种工具,p2p
我可以在我的路由器中看到Skype自动端口转发到我的电脑地址.我也可以用Python做吗?
I have those python lists :
x = [('D', 'F'), ('A', 'D'), ('B', 'G'), ('B', 'C'), ('A', 'B')]
priority_list = ['A', 'B', 'C', 'D', 'F', 'G'] # Ordered from highest to lowest priority
Run Code Online (Sandbox Code Playgroud)
How can I, for each tuple in my list, keep the value with the highest priority according to priority_list
? The result would be :
['D', 'A', 'B', 'B', 'A']
Run Code Online (Sandbox Code Playgroud)
Another examples:
x = [('B', 'D'), ('E', 'A'), ('B', 'A'), ('D', 'F'), ('E', 'C')]
priority_list = ['A', …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下所有nan值中的第一个先前的可用值来替换DataFrame中的nan值。
在下面的示例中:
import pandas as pd
df = [100, None, None, 40, None, 120]
df = pd.DataFrame(df)
Run Code Online (Sandbox Code Playgroud)
我想得到:
[33.33, 33.33, 33.33, 20, 20, 120]
Run Code Online (Sandbox Code Playgroud)
如果我可以找到一种方法来对列中每个值之后的nan值进行计数,那么我可以运行一些计算来实现拆分。
我正在尝试使用带有Enter键的小部件文本与tkinter进行聊天,如下所示:
self.msg.bind('<Return>', self.chatReturn)
def chatReturn(self, evt):
self.chat.config(state = NORMAL)
self.chat.insert(END, self.msg.get(1.0, END))
self.chat.config(state = DISABLED)
self.msg.delete(1.0, END)
Run Code Online (Sandbox Code Playgroud)
但是在调用chatReturn()之后,使用“ Return”键可使光标移至第二行...
我可以禁止“返回”键的正常状态进入下一行吗?
正如我在以下主题中发现的:How to make python window run as "Always On Top"?
我知道如何在上面放一个窗户。但我想将其保持在相同的位置。作者说他找到了一种解决方法来查找 x 和 y 值。我想知道我怎样才能实现这一目标!
如何获取 pygame 窗口的 x、y 值?也许这是一种错误的做法。
我正在寻找的效果是,当我通过某些函数调用触发窗口时,窗口会位于顶部。
对于那些了解英雄联盟的人来说,当游戏开始时,窗口会移到顶部并保持在相同的坐标。
我目前正在 python 中开发一个 VOIP 工具作为客户端服务器。我的问题是,即使没有声音,我目前也按如下方式发送 Pyaudio 输入流(好吧,当没有人说话或没有噪音时,也会发送数据):
CHUNK = 1024
p = pyaudio.PyAudio()
stream = p.open(format = pyaudio.paInt16,
channels = 1,
rate = 44100,
input = True,
frames_per_buffer = CHUNK)
while 1:
self.conn.sendVoice(stream.read(CHUNK))
Run Code Online (Sandbox Code Playgroud)
我想检查音量以获得这样的结果:
data = stream.read(CHUNK)
if data.volume > 20%:
self.conn.sendVoice(data)
Run Code Online (Sandbox Code Playgroud)
这样我就可以避免发送无用的数据和备用连接/提高性能。(另外,我正在寻找某种压缩,但我想我将不得不在另一个主题中询问它)。