私は画像のボックスの角を取得しようとしています。以下は、例示的な画像、その閾値結果、および矢印の後の右側の画像です。あなたはあまりにも前にこれらの画像を見たことがあるかもしれません。私はこれらの画像を余裕のための私の質問に使用しているからです。スレッショルド画像からノイズを除去するopencv python
後、私は真ん中の画像まで達することができるコードです。
import cv2
import numpy as np
img_file = 'C:/Users/box.jpg'
img = cv2.imread(img_file, cv2.IMREAD_COLOR)
img = cv2.blur(img, (5, 5))
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
h, s, v = cv2.split(hsv)
thresh0 = cv2.adaptiveThreshold(s, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2)
thresh1 = cv2.adaptiveThreshold(v, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2)
thresh2 = cv2.adaptiveThreshold(v, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2)
thresh = cv2.bitwise_or(thresh0, thresh1)
cv2.imshow('Image-thresh0', thresh0)
cv2.waitKey(0)
cv2.imshow('Image-thresh1', thresh1)
cv2.waitKey(0)
cv2.imshow('Image-thresh2', thresh2)
cv2.waitKey(0)
opencvには私のためにできる方法はありますか?私は拡張cv2.dilate()
と侵食cv2.erode()
を試しましたが、それは私のケースでは機能しません。そうでなければ、それをやり遂げる別の方法がありますか?高閾値と低閾値と、右側に おかげで左の画像の
キャニーバージョンを...
内部
~
記号を削除し、気の利いた+侵食が動作するはずです。それがあなたのためにうまくいかない理由を見るためにイメージをアップロードできますか? –問題を解決したり、独自の解決策を投稿して他の人に利益をもたらすことができた場合は、回答を受け入れることを検討してください。 – m3h0w