- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试检测一张卡片,但问题是有时图像不好并且有多个背景,如下所示:
没有很好地定义边缘
![没有很好地定义边缘][1]
示例背景
![示例背景][2]
我这样做了:
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
gray = cv2.GaussianBlur(gray,(11,11),0)
edg = cv2.Canny(gray, 10, 20)
contours,_ = cv2.findContours(edg.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
cv2.drawContours(image,contours,-1,[0,255,0],2)
cv2.imshow('image',image)
cv2.waitKey(0)
但有时他会检测到其他东西,而不是卡片。任何人都知道如何解决这个问题?我尝试过使用 YOLO 进行对象检测,但这很难
最佳答案
首先要注意的是,拍照时有一些条件,比如光线条件和介质条件,如果你能控制它们,图像处理部分的负荷就会减少。例如在你的示例图像中,你可以将A4白纸放在背景中以减少小轮廓等(当然不可能改变条件)。
好吧,我用这段代码试试你的测试图像:
import cv2
rectKernel = cv2.getStructuringElement(cv2.MORPH_RECT, (8, 8))
sqKernel = cv2.getStructuringElement(cv2.MORPH_RECT, (17, 17))
img = cv2.imread('edge.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gradX = cv2.Sobel(gray, ddepth=cv2.CV_32F, dx=1, dy=0,
ksize=-1)
morph1 = cv2.morphologyEx(gradX, cv2.MORPH_OPEN, rectKernel)
morph2 = cv2.morphologyEx(morph1, cv2.MORPH_CLOSE, sqKernel)
cv2.imshow("img",img)
cv2.imshow("gradx",gradX)
cv2.imshow("tophat",morph1)
cv2.imshow("tophat2",morph2)
cv2.waitKey()
结果如下:
您可以使用轮廓并使用轮廓属性删除不需要的轮廓:Contour Properties
关于python - 检测嘈杂的背景/物体 - OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57606845/
我正在尝试使音频通过低通滤波器,以便从中滤除噪声。但是,wav的输出非常嘈杂,我无法理解为什么。找到原始的和过滤后的WAV及其对应的内容。链接下方的频谱图。 enter link descriptio
我使用 Arduino 微 Controller 从电位计收集了一些数据。这是以 500 Hz 采样的数据(这是很多数据): http://cl.ly/3D3s1U3m1R1T?_ga=1.17893
我的问题是:是否有最小化算法,最好用 Python 实现,可以对一个慢速(~1-10 秒)的函数进行操作,并从实时系统中获取数据,这不会超过几个几个小时才能完成? 我有一个 FPGA,它对一些传感器数
我正在处理一个数据集,如果一个例子被标记为正面,那么它绝对是正面的。不幸的是,对于负类,如果标签被标记为负类,则不能说同样的情况(并且它可能会变成正类)。此外,标记为负面的示例数量远远多于标记为正面的
这个问题在这里已经有了答案: Perlin Noise 2D: turning static into clouds (1 个回答) 关闭 7 年前。 我在执行 perlin 噪音时遇到了问题。出于
我有一个 Google Pixel 3 并且正在使用 Flutter 的 camera插件版本 0.8.1 .CameraPreview模糊、嘈杂、放大,并且通常看起来比 Android 的相机应用差
我有以下形式的原始 pcm 数据: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 00
我是一名优秀的程序员,十分优秀!