python
1import cv2 2import matplotlib.pyplot as plt 3import numpy as np 4from PIL 5 6H_MAX = 255; 7H_MIN = 0; 8S_MAX = 255; 9S_MIN = 100; 10V_MAX = 250; 11V_MIN = 40; 12 13if __name__ == '__main__': 14 15 img = Image.open(r'./sample.jpg') 16 #im = np.asarray(img) 17 #img = cv2.imread(im, cv2.IMREAD_sCOLOR) 18 cv2.imshow(img) 19 20 cv2.namedWindow("input_RGB") 21 cv2.imshow("input_RGB", im) 22 23 #Mat hsv_image, mask_image, output_image 24 25 #GRAY=1 26 def create_image(type, rows, cols, data): 27 28 hsv_image=numpy.frombuffer(data, dtype=np.uint8).reshape((rows, cols)) 29 mask_image=numpy.frombuffer(data, dtype=np.uint8).reshape((rows, cols)) 30 output_image=numpy.frombuffer(data, dtype=np.uint8).reshape((rows, cols)) 31 32 gray = cv2.cvtColor(self.image, cv2.COLOR_BGR2GRAY) 33 34 cv2.cvtColor(im, hsv_image, cv2.CV_BGR2HSV, 3) 35 36 cv2.namedWindow("input_HSV") 37 cv2.imshow("input_HSV", hsv_image) 38 cv2.moveWindow("input_HSV", 650, 50) 39 cv2.imwrite("hsv.jpg", hsv_image) 40 41 s_min = Scalar(H_MIN, S_MIN, V_MIN) 42 s_max = Scalar(H_MAX, S_MAX, V_MAX) 43 cv2.inRange(hsv_image, s_min, s_max, mask_image) 44 45 cv2.namedWindow("mask") 46 cv2.imshow("mask", mask_image) 47 cv2.moveWindow("mask", 0, 440) 48 cv2.imwrite("mask.jpg", mask_image) 49 50 img.copyTo(output_image, mask_image) 51 52 cv2.namedWindow("output") 53 cv2.imshow("output", output_image) 54 cv2.moveWindow("output", 650, 440) 55 cv2.imwrite("output.jpg", output_image) 56 cv2.waitKey(0) 57 58
c++のコードをpythonに書き換えているのですが、上記のコードを実行すると
下記のエラーが発生します。
File "colorExtractorHSV.py", line 28, in <module> cv2.imshow(img) TypeError: Required argument 'mat' (pos 2) not found
おそらく第二引数が指定されていないとのことなのですが、エラー解消方法がわからず困っています。
回答1件
あなたの回答
tips
プレビュー