我正在开展一个项目,我需要获得哑铃状形状的边界框。然而,我需要尽可能少的点,并且盒子需要适合所有角落的形状。这是我用来测试的图像:模糊、破裂、哑铃形状
我不关心形状中的间隙,我只想清理它,并拉直边缘,这样我就可以获得这样的形状的轮廓:清理
我一直在尝试解决threshold()这个问题,使用它来获取它的轮廓findContours(),然后使用它approxPolyDP()来简化轮廓最终的疯狂数量的点。因此,在摆弄了大约三天之后,我怎样才能简单地得到:
第二种选择是首选,因为这确实是我的最终目标:获得这些角落的分数。
我真的不需要有人为我编写代码,我只需要一些方法或算法来完成这件事,最好是一些简单的例子。
这是我过于干净的代码,其中包含我什至不使用的函数,但我认为我最终会使用它们:
import cv2
import numpy as np
class traceImage():
def __init__(self, imageLocation):
self.threshNum = 127
self.im = cv2.imread(imageLocation)
self.imOrig = self.im
self.imGray = cv2.cvtColor(self.im, cv2.COLOR_BGR2GRAY)
self.ret, self.imThresh = cv2.threshold(self.imGray, self.threshNum, 255, 0)
self.contours, self.hierarchy = cv2.findContours(self.imThresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
def createGray(self):
self.imGray = cv2.cvtColor(self.im, cv2.COLOR_BGR2GRAY)
def adjustThresh(self, threshNum):
self.ret, self.imThresh = cv2.threshold(self.imGray, threshNum, 255, 0)
def …Run Code Online (Sandbox Code Playgroud) 所以,我想看看小型 Web 服务器是什么样的,然后我发现了 mongoose,这是一个用于静态站点的漂亮、小型、简单的 Web 服务器。当我尝试下载它时,恐怖出现了。我尝试从这个网站获取它:http://cesanta.com/mongoose.shtml,发现Chrome总是抱怨一些网络错误。然后我让一个朋友尝试下载它,认为这是一个坏链接,但他下载得很好。所以我想,好吧,无论如何,我会让他将其转移到闪存驱动器上,然后我可以将其从那里取出。然后我发现我无法从闪存驱动器中获取该文件。Windows 文件复制对话框会在 75% 时挂起,然后突然跳到 100%,文件会在文件夹中闪烁,然后消失。所以,我想好吧,也许我的计算机上不需要它,我会从我的闪存驱动器上运行它,所以我运行了它,Windows 抱怨说该文件不存在,然后突然闪存驱动器上的文件消失了。
为什么这个文件讨厌我?
我的文件系统有问题吗?
是可执行文件本身的问题吗?
我和我的朋友都运行 Windows 8.1
我可以很好地下载其他文件。
contour ×1
download ×1
exe ×1
file ×1
opencv ×1
python ×1
python-2.7 ×1
windows ×1
windows-8.1 ×1