草庐IT

python - Matplotlib:用鼠标画出矩形形状的选区

我希望能够使用鼠标事件在matplotlib图上绘制一个选择区域。我没有找到有关如何使用python执行此操作的信息。最后,我希望能够在使用matplotlibbasemap创建的map上用鼠标绘制感兴趣区域并检索角坐标。有人有想法、示例和引用资料吗?谢谢,格雷格classAnnotate(object):def__init__(self):self.ax=plt.gca()self.rect=Rectangle((0,0),1,1,facecolor='None',edgecolor='green')self.x0=Noneself.y0=Noneself.x1=Noneself.y

python - 带点线或虚线的 opencv 矩形

我这里有一行代码使用opencv的python绑定(bind):cv2.rectangle(img,(box[1],box[0]),(box[3],box[2]),(255,0,0),4)这会在厚度为4的图像img上绘制一个红色矩形。但是有没有办法让矩形的线条风格化呢?不要太多。只是点缀或虚线,就是这样。 最佳答案 importcv2importnumpyasnpdefdrawline(img,pt1,pt2,color,thickness=1,style='dotted',gap=20):dist=((pt1[0]-pt2[0])

python - 矩形的屏幕截图颜色平均

我编写了一个快速的Python脚本来返回屏幕周边矩形的平均颜色。(这里的最终目标是让RGBLEDstrips包围我的显示器,以便在看电影时产生发光效果-就像this(youtube)一样,但更有趣,因为我自己制作了它)。我目前正在使用autopy用于将屏幕作为位图(“屏幕截图”),获取每个像素值,以及RGBHEX转换。简化版:step=1width=5height=5b=autopy.bitmap.capture_screen()forblockinborder_block(width,height):#foreachrectanglearoundtheperimeterofmyscr

python - 如何在 GraphViz 中生成矩形样式的边而不是曲线?

我已经使用PydotPython库用点语言生成了Graphviz图像。但是边缘被画成曲线,我需要这样的输出:请提供使用Graphviz的解决方案。 最佳答案 此功能称为“orthogonal边缘路由”,在2010年9月28日及更新的Graphviz版本中可用。使用“图形[样条=正交]”;查看Graphvizdocumentation.digraphOrthogonal{graph[label="Orthogonaledges",splines=ortho,nodesep=0.8]node[shape=box]a->{bc}b->{d

python - 使用python在打开的cv中使用鼠标事件绘制矩形或线

我试图在两个坐标之间画一条直线,这两个坐标将通过单击图像或鼠标事件获得。我可以在单击鼠标时绘制单个圆圈,但无法弄清楚如何在这些点之间画线。当我使用这段代码时,我只能打印开始和结束坐标,不能在它们之间画一条线。importnumpyasnpimportcv2importcv2.cvascvboxes=[]defon_mouse(event,x,y,flags,params):ifevent==cv.CV_EVENT_LBUTTONDOWN:print'StartMousePosition:'+str(x)+','+str(y)sbox=[x,y]boxes.append(sbox)eli

python - 测试点是否在某个矩形中

我有一大堆矩形,它们的大小都一样。我正在生成不应该落在这些矩形中的随机点,所以我想做的是测试生成的点是否位于其中一个矩形中,如果是,则生成一个新点。使用R树似乎可行,但它们实际上适用于矩形而不是点。我可以使用R树算法的修改版本,它也适用于点,但如果已经有更好的解决方案,我宁愿不重新发明轮子。我对数据结构不是很熟悉,所以也许已经存在一些适用于我的问题的结构?总而言之,基本上我要问的是,是否有人知道一个在Python中运行的好算法,该算法可用于检查一个点是否位于给定矩形集中的任何矩形内。编辑:这是二维的,矩形没有旋转。 最佳答案 这个R

python - 使用 Opencv 检测图像中矩形的中心和角度

我有一张图片如下:我需要找出矩形的数量、每个矩形的中心以及平行于通过中心的矩形长边的轴之间的角度,并从水平方向测量逆时针方向的角度。我发现了图像中矩形的数量。我对找出反射的中心和角度感到震惊。通过瞬间找到中心并没有给我正确的答案。我的代码:importcv2importnumpyasnpimportsysimg=cv2.imread(str(sys.argv[1]),0)ret,thresh=cv2.threshold(img,127,255,0)contours,hierarchy=cv2.findContours(thresh,1,2)forcontourincontours:ar

python - 使用两个左下角和右上角检查两个矩形在python中是否重叠

classPoint:def__init__(self,xcoord=0,ycoord=0):self.x=xcoordself.y=ycoordclassRectangle:def__init__(self,bottom_left,top_right,colour):self.bottom_left=bottom_leftself.top_right=top_rightself.colour=colourdefintersects(self,other):我正在尝试根据右上角和左下角查看两个矩形是否相交,但是当我创建函数时:defintersects(self,other):retu

python - 找到 N 个矩形重叠的有效方法

我正在尝试找到一种有效的解决方案来查找n个矩形的重叠,其中矩形存储在两个单独的列表中。我们正在寻找listA中与listB中的矩形重叠的所有矩形(反之亦然)。将第一个列表中的一个元素与第二个列表中的一个元素进行比较可能会花费大量时间。我正在寻找一种有效的解决方案。我有两个矩形列表rect=Rectangle(10,12,56,15)rect2=Rectangle(0,0,1,15)rect3=Rectangle(10,12,56,15)listA=[rect,rect2]listB=[rect3]这是从类创建的:importnumpyasnpimportitertoolsasitcla

Android Canvas 绘制矩形

如何使用等边框宽度=3和边框颜色=黑色绘制空矩形,矩形内的部分没有内容或颜色。使用Canvas中的哪个函数voiddrawRect(floatleft,floattop,floatright,floatbottom,Paintpaint)voiddrawRect(RectFrect,Paintpaint)voiddrawRect(Rectr,Paintpaint)谢谢。我试试这个例子PaintmyPaint=newPaint();myPaint.setColor(Color.rgb(0,0,0));myPaint.setStrokeWidth(10);c.drawRect(100,10