TypeError: function takes exactly 1 argument (3 given)
こちらのエラーの意味がよくわかりません。
ある画像をインプットさせた後にこのようなエラーが発生しましたが、解決できていません。
実行するファイル = yolo_video.py
import sys import argparse from yolo import YOLO, detect_video from PIL import Image def detect_img(yolo): while True: img = input('Input image filename:') try: image = Image.open(img) except: print('Open Error! Try again!') continue else: r_image = yolo.detect_image(image) r_image.show() yolo.close_session() FLAGS = None if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) ''' Command line options ''' parser.add_argument( '--model', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path") ) parser.add_argument( '--anchors', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("anchors_path") ) parser.add_argument( '--classes', type=str, help='path to class definitions, default ' + YOLO.get_defaults("classes_path") ) parser.add_argument( '--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num")) ) parser.add_argument( '--image', default=False, action="store_true", help='Image detection mode, will ignore all positional arguments' ) ''' Command line positional arguments -- for video detection mode ''' parser.add_argument( "--input", nargs='?', type=str,required=False,default='./path2your_video', help = "Video input path" ) parser.add_argument( "--output", nargs='?', type=str, default="", help = "[Optional] Video output path" ) FLAGS = parser.parse_args() if FLAGS.image: """ Image detection mode, disregard any remaining command line arguments """ print("Image detection mode") if "input" in FLAGS: print(" Ignoring remaining command line arguments: " + FLAGS.input + "," + FLAGS.output) detect_img(YOLO(**vars(FLAGS))) elif "input" in FLAGS: detect_video(YOLO(**vars(FLAGS)), FLAGS.input, FLAGS.output) else: print("Must specify at least video_input_path. See usage with --help.")
エラー内容の詳細
File "yolo_video.py", line 73, in <module>
detect_img(YOLO(**vars(FLAGS)))
File "yolo_video.py", line 15, in detect_img
r_image = yolo.detect_image(image)
File "/keras-yolo3/yolo.py", line 158, in detect_image
outline=self.colors[c])
File "/anaconda3/lib/python3.6/site-packages/PIL/ImageDraw.py", line 191, in rectangle
ink, fill = self._getink(outline, fill)
File "/anaconda3/lib/python3.6/site-packages/PIL/ImageDraw.py", line 112, in _getink
ink = self.draw.draw_ink(ink, self.mode)
TypeError: function takes exactly 1 argument (3 given)
試してみたこと
他の画像を入力した際、このようなエラーは出ませんでした。
あなたの回答
tips
プレビュー