Imはpythonには新しく、画像から輪郭を抽出して輪郭のリスト内の要素の長さの昇順。 sort()またはlist.sort()を使用すると、オペランドをシェイプ(1776,1,2)(3896,1,2)と一緒にブロードキャストできないというエラーが発生します。 どうすればこの問題を解決できますか? これは私が使用しているimageです。私が得たエラー:オペランドをシェイプ(1776,1,2)(3896,1,2)と一緒にブロードキャストすることができませんでした。
エラーメッセージはでした:あなたの元の質問とあなたの短縮バージョンの両方が作るいくつかのエラーが含まれていることを
import cv2
import numpy as np
from math import sqrt
name='20_right_5-1'
img = cv2.imread(name+'.JPG')
im = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imwrite(name+"_dilation.jpg", closing)
im = cv2.imread(name+'_dilation.jpg')
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
#ret,thresh = cv2.threshold(imgray,127,255,cv2.THRESH_BINARY_INV)
blur = cv2.GaussianBlur(imgray,(5,5),0)
ret,thresh = cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
im2, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)
cv2.drawContours(im, contours, -1, (0,255,0), 3)
cv2.namedWindow("Contours")
cv2.imshow("Contours", im)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite(name+"_contour.jpg", im)
print "this is contours"
print contours
print type(contours)
contours.sort()
それはエラー_makeに簡単ですあなたが望むものが結果であることを確認することはそれほど簡単ではありません。これらのディメンションがエラーに含まれていることと予想される結果がどの程度の大きさであるかを理解していますか? –
私は彼らがリストの最初と2番目の要素の次元であると信じています – Alizay
申し訳ありませんこれはばかな質問です。私は以前のパイソンの経験はありません。私は今、これをしばらく理解しようとしています。 – Alizay