22import  numpy  as  np 
33
44############################################ 
5- cap  =  cv2 .VideoCapture (0 )
5+ cap  =  cv2 .VideoCapture (1 )
66path  =  'test.png' 
77############################################ 
88
99def  empty (a ):
1010    pass 
1111
12- def  stackImages (scale ,imgArray ):
12+ 
13+ def  stackImages (scale , imgArray ):
1314    rows  =  len (imgArray )
1415    cols  =  len (imgArray [0 ])
1516    rowsAvailable  =  isinstance (imgArray [0 ], list )
1617    width  =  imgArray [0 ][0 ].shape [1 ]
1718    height  =  imgArray [0 ][0 ].shape [0 ]
1819    if  rowsAvailable :
19-         for  x  in  range  (  0 , rows ):
20+         for  x  in  range ( 0 , rows ):
2021            for  y  in  range (0 , cols ):
21-                 if  imgArray [x ][y ].shape [:2 ] ==  imgArray [0 ][0 ].shape   [:2 ]:
22+                 if  imgArray [x ][y ].shape [:2 ] ==  imgArray [0 ][0 ].shape [:2 ]:
2223                    imgArray [x ][y ] =  cv2 .resize (imgArray [x ][y ], (0 , 0 ), None , scale , scale )
2324                else :
24-                     imgArray [x ][y ] =  cv2 .resize (imgArray [x ][y ], (imgArray [0 ][0 ].shape [1 ], imgArray [0 ][0 ].shape [0 ]), None , scale , scale )
25-                 if  len (imgArray [x ][y ].shape ) ==  2 : imgArray [x ][y ]=  cv2 .cvtColor ( imgArray [x ][y ], cv2 .COLOR_GRAY2BGR )
25+                     imgArray [x ][y ] =  cv2 .resize (imgArray [x ][y ], (imgArray [0 ][0 ].shape [1 ], imgArray [0 ][0 ].shape [0 ]),
26+                                                 None , scale , scale )
27+                 if  len (imgArray [x ][y ].shape ) ==  2 : imgArray [x ][y ] =  cv2 .cvtColor (imgArray [x ][y ], cv2 .COLOR_GRAY2BGR )
2628        imageBlank  =  np .zeros ((height , width , 3 ), np .uint8 )
27-         hor  =  [imageBlank ]* rows 
28-         hor_con  =  [imageBlank ]* rows 
29+         hor  =  [imageBlank ]  *   rows 
30+         hor_con  =  [imageBlank ]  *   rows 
2931        for  x  in  range (0 , rows ):
3032            hor [x ] =  np .hstack (imgArray [x ])
3133        ver  =  np .vstack (hor )
@@ -34,45 +36,44 @@ def stackImages(scale,imgArray):
3436            if  imgArray [x ].shape [:2 ] ==  imgArray [0 ].shape [:2 ]:
3537                imgArray [x ] =  cv2 .resize (imgArray [x ], (0 , 0 ), None , scale , scale )
3638            else :
37-                 imgArray [x ] =  cv2 .resize (imgArray [x ], (imgArray [0 ].shape [1 ], imgArray [0 ].shape [0 ]), None ,scale , scale )
39+                 imgArray [x ] =  cv2 .resize (imgArray [x ], (imgArray [0 ].shape [1 ], imgArray [0 ].shape [0 ]), None ,  scale , scale )
3840            if  len (imgArray [x ].shape ) ==  2 : imgArray [x ] =  cv2 .cvtColor (imgArray [x ], cv2 .COLOR_GRAY2BGR )
39-         hor =  np .hstack (imgArray )
41+         hor   =  np .hstack (imgArray )
4042        ver  =  hor 
4143    return  ver 
4244
4345
4446cv2 .namedWindow ("TrackBars" )
45- cv2 .resizeWindow ("TrackBars" ,640 ,240 )
46- cv2 .createTrackbar ("Hue Min" ,"TrackBars" ,0 , 179 ,empty )
47- cv2 .createTrackbar ("Hue Max" ,"TrackBars" ,179 ,179 ,empty )
48- cv2 .createTrackbar ("Sat Min" ,"TrackBars" ,0 , 255 ,empty )
49- cv2 .createTrackbar ("Sat Max" ,"TrackBars" ,255 ,255 ,empty )
50- cv2 .createTrackbar ("Val Min" ,"TrackBars" ,0 , 255 ,empty )
51- cv2 .createTrackbar ("Val Max" ,"TrackBars" ,255 ,255 ,empty )
47+ cv2 .resizeWindow ("TrackBars" ,  640 ,  240 )
48+ cv2 .createTrackbar ("Hue Min" ,  "TrackBars" ,  0 ,  179 ,  empty )
49+ cv2 .createTrackbar ("Hue Max" ,  "TrackBars" ,  179 ,  179 ,  empty )
50+ cv2 .createTrackbar ("Sat Min" ,  "TrackBars" ,  0 ,  255 ,  empty )
51+ cv2 .createTrackbar ("Sat Max" ,  "TrackBars" ,  255 ,  255 ,  empty )
52+ cv2 .createTrackbar ("Val Min" ,  "TrackBars" ,  0 ,  255 ,  empty )
53+ cv2 .createTrackbar ("Val Max" ,  "TrackBars" ,  255 ,  255 ,  empty )
5254
5355while  True :
54-     #img = cv2.imread(path) #for image 
55-     _ , img  =  cap .read () # for Video 
56-     imgHSV  =  cv2 .cvtColor (img ,cv2 .COLOR_BGR2HSV )
57-     h_min  =  cv2 .getTrackbarPos ("Hue Min" ,"TrackBars" )
56+     #  img = cv2.imread(path) #for image 
57+     _ , img  =  cap .read ()   # for Video 
58+     imgHSV  =  cv2 .cvtColor (img ,  cv2 .COLOR_BGR2HSV )
59+     h_min  =  cv2 .getTrackbarPos ("Hue Min" ,  "TrackBars" )
5860    h_max  =  cv2 .getTrackbarPos ("Hue Max" , "TrackBars" )
5961    s_min  =  cv2 .getTrackbarPos ("Sat Min" , "TrackBars" )
6062    s_max  =  cv2 .getTrackbarPos ("Sat Max" , "TrackBars" )
6163    v_min  =  cv2 .getTrackbarPos ("Val Min" , "TrackBars" )
6264    v_max  =  cv2 .getTrackbarPos ("Val Max" , "TrackBars" )
6365    print (f'{ h_min }  ,{ h_max }  ,{ s_min }  ,{ s_max }  ,{ v_min }  ,{ v_max }  ' )
64-     lower  =  np .array ([h_min ,s_min ,v_min ])
65-     upper  =  np .array ([h_max ,s_max ,v_max ])
66-     mask  =  cv2 .inRange (imgHSV ,lower ,upper )
67-     imgResult  =  cv2 .bitwise_and (img ,img ,mask = mask )
68- 
66+     lower  =  np .array ([h_min , s_min , v_min ])
67+     upper  =  np .array ([h_max , s_max , v_max ])
68+     mask  =  cv2 .inRange (imgHSV , lower , upper )
69+     imgResult  =  cv2 .bitwise_and (img , img , mask = mask )
6970
7071    # cv2.imshow("Original",img) 
7172    # cv2.imshow("HSV",imgHSV) 
7273    # cv2.imshow("Mask", mask) 
7374    # cv2.imshow("Result", imgResult) 
7475
75-     imgStack  =  stackImages (0.6 ,([img ,imgHSV ],[mask ,imgResult ]))
76+     imgStack  =  stackImages (0.6 ,  ([img ,  imgHSV ],  [mask ,  imgResult ]))
7677    cv2 .imshow ("Stacked Images" , imgStack )
7778
7879    cv2 .waitKey (1 )
0 commit comments