image with rectanglesスキャンした画像のPython、OpenCV、および長方形
こんにちは! OpenCVを習得すると、問題が発生しました。これらのボックスを見つけられずに切り取ることはできません。私に教えてください、使用するフィルターとロジックは何ですか?
#!/usr/bin/env python
import cv2
import os
img_path = os.path.join('img', '1.jpg')
image = cv2.imread(img_path)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray = cv2.bilateralFilter(gray, 11, 17, 17)
edged = cv2.Canny(gray, 30, 200)
cv2.imshow('gray', gray)
cv2.waitKey(0)
cv2.imshow('edged', edged)
cv2.waitKey(0)
(_, cnts, _) = cv2.findContours(edged.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
for c in cnts:
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.02 * peri, True)
if len(approx) == 4:
cv2.drawContours(image, [approx], -1, (0, 255, 0), 3)
cv2.imshow('result', image)
cv2.waitKey(0)
この例では、ごみの多くを見つけ、すべての矩形(だけでなく、それらの背景を持つ)
EDIT: OpenСVの重複が輪郭を長方形。重複をどのように切り取ることができますか?
これまでに何を試みましたか? – asongtoruin
私はopencvを学び始めました。緊急の課題があります。私はcannyフィルターを使用して、次にfindContoursを使用しようとしました – ilya
あなたのコードを投稿してください(あなたの投稿に編集してください) - どこが間違っているかを教えてください。 – asongtoruin