相关疑难解决方法(0)

如何识别此图像中的矩形?

我有一个水平和垂直线条的图像.事实上,这张图片是BBC网站转换为横向和纵向的线条.我的问题是我希望能够找到图像中的所有矩形.我想写一个计算机程序来查找所有的矩形.有谁知道如何做到这一点或建议如何开始的想法?这个任务对我来说很容易找到视觉矩形,但我不知道如何将其描述为一个程序.

图片是BBC的网站http://www.bbc.co.uk/


更新到此,我编写了将BBC网站图像转换为水平和垂直线的代码,问题是这些线条在角落处并不完全相遇,有时它们并不完全形成矩形.谢谢!

graphics artificial-intelligence machine-learning computer-vision

31
推荐指数
2
解决办法
5万
查看次数

如何在图像中找到这种几何形状

现场

假设我有一个如上所述的场景图像.一种带有斑点的杆子,旁边可能是没有斑点的相似物体.如何找到由红色圆圈标记的斑点(二进制图像,指示哪些像素属于斑点).

注意,杆与blob一起可以任意旋转,并且尺寸也可以变化.

algorithm machine-learning image-processing computer-vision

5
推荐指数
1
解决办法
938
查看次数

如何检测所有矩形框python opencv而不会遗漏任何东西

我正在尝试从关系数据库中检测所有矩形。但是我的脚本没有检测到一些盒子。请帮我做到这一点。谢谢你。

图片: 这是我想要检测的图像。

我的代码:

#!/usr/bin/python
import cv2
import numpy as np

im = cv2.imread("table.png")

image = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(image,0,255,cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]

edge = cv2.Canny(thresh,30,200)
cont = cv2.findContours(edge,cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)[0]

for j,i in enumerate(cont):
   x,y,w,h = cv2.boundingRect(i)

   if (w*h>900):
     cv2.drawContours(image,[i],0,(0,0,255),3)

cv2.imshow("Image",image)

cv2.waitKey(0)  
Run Code Online (Sandbox Code Playgroud)

输出:

我的输出

python opencv image image-processing contour

3
推荐指数
1
解决办法
1384
查看次数

检测图像上的迷宫位置

我正在尝试从照片中找到迷宫的位置。

我想得到的是迷宫角落的 (x,y) 点。

正如你所看到的,我cv2.Canny()对图片进行了应用,并得到了一个非常漂亮干净的图像作为开始。

在此处输入图片说明

所以下一步就是定位迷宫。

我已经搜索了一段时间,所有 SOF 问题都要求找到“完美”矩形的位置,例如这个这个 但在我的情况下,矩形没有闭合轮廓,因此它们的代码不起作用就我而言。

也看过 OpenCV 代码,他们都试图找到轮廓并将这些轮廓绘制到图像上,但它对我不起作用。我刚刚得到了 1 个大轮廓,它单独出现在我照片的边界上。

cnts = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)      
cnts = imutils.grab_contours(cnts)
Run Code Online (Sandbox Code Playgroud)

更新 1

原始照片: 在此处输入图片说明

代码:

import cv2
from PIL import Image
from matplotlib import pyplot as plt
import numpy as np
import imutils

img = cv2.imread('maze.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

edges = cv2.Canny(img,100,200)


f,axarr = plt.subplots(1,2,figsize=(15,15))

axarr[0].imshow(img)
axarr[1].imshow(edges)

plt.show()
Run Code Online (Sandbox Code Playgroud)

python opencv maze image-processing opencv-python

0
推荐指数
1
解决办法
121
查看次数