###前提・実現したいこと
卒業研究で無知の状態からpythonを用いて広範囲で緑を検出しようとしていて元からあるプログラムに40~80の範囲で緑を検出させようとがんばっている。何がおかしいのかぜんぜんわからない。
###発生している問題・エラーメッセージ
SyntaxError: invalid syntax
###該当のソースコード
import cv2
def extract_color( src, h_th_low, h_th_up, s_th, v_th ):
hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV) h, s, v = cv2.split(hsv) if h_th_low > h_th_up: ret, h_dst_1 = cv2.threshold(h, h_th_low, 255, cv2.THRESH_BINARY) ret, h_dst_2 = cv2.threshold(h, h_th_up, 255, cv2.THRESH_BINARY_INV) dst = cv2.bitwise_or(h_dst_1, h_dst_2) else: ret, dst = cv2.threshold(h, h_th_low, 255, cv2.THRESH_TOZERO) ret, dst = cv2.threshold(dst, h_th_up, 255, cv2.THRESH_TOZERO_INV) ret, dst = cv2.threshold(dst, 0, 255, cv2.THRESH_BINARY) ret, s_dst = cv2.threshold(s, s_th, 255, cv2.THRESH_BINARY) ret, v_dst = cv2.threshold(v, v_th, 255, cv2.THRESH_BINARY) dst = cv2.bitwise_and(dst, s_dst) dst = cv2.bitwise_and(dst, v_dst) return dst
if name=="main":
capture = cv2.VideoCapture(0) if capture.isOpened() is False: raise("IO Error") cv2.namedWindow("Capture", cv2.WINDOW_AUTOSIZE) #cv2.namedWindow("Red", cv2.WINDOW_AUTOSIZE) #cv2.namedWindow("yellow", cv2.WINDOW_AUTOSIZE) cv2.namedWindow("green", cv2.WINDOW_AUTOSIZE) while True: ret, image = capture.read() if ret == False: continue #red_image = extract_color(image, 170, 5, 190, 200) #yellow_image = extract_color(image, 10, 25, 50, 50) green_image = extract_color(image, for num in range(40, 81): print(num), 0, 90, 45) cv2.imshow("Capture", image) #cv2.imshow("Red", red_image) #cv2.imshow("Yellow", yellow_image) cv2.imshow("Green", green_image) if cv2.waitKey(33) >= 0: #cv2.imwrite("image.png", image) #cv2.imwrite("red_image.png", red_image) #cv2.imwrite("yellow_image.png", yellow_image) #cv2.imwrite("green_image.png", green_image) break
###試したこと
空白などを確認した。
###補足情報(言語/FW/ツール等のバージョンなど)
raspberry Piを用いています。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。