fix color

This commit is contained in:
wangWking 2022-11-17 14:01:46 +08:00
parent 8a8032e93a
commit a60a94aea0
3 changed files with 25 additions and 88 deletions

View file

@ -77,7 +77,7 @@ class Object_detect(Movement):
self.HSV = {
"yellow": [np.array([11, 115, 70]), np.array([40, 255, 245])],
"red": [np.array([0, 43, 46]), np.array([8, 255, 255])],
"green": [np.array([35, 43, 46]), np.array([77, 255, 255])],
"green": [np.array([35, 43, 35]), np.array([90, 255, 255])],
"blue": [np.array([100, 43, 46]), np.array([124, 255, 255])],
"cyan": [np.array([78, 43, 46]), np.array([99, 255, 255])],
}
@ -321,15 +321,15 @@ class Object_detect(Movement):
def color_detect(self, img):
# set the arrangement of color'HSV
x = y = 0
gs_img = cv2.GaussianBlur(img, (3, 3), 0) # 高斯模糊
# transfrom the img to model of gray
hsv = cv2.cvtColor(gs_img, cv2.COLOR_BGR2HSV)
for mycolor, item in self.HSV.items():
# print("mycolor:",mycolor)
redLower = np.array(item[0])
redUpper = np.array(item[1])
# transfrom the img to model of gray
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# print("hsv",hsv)
# wipe off all color expect color in range
mask = cv2.inRange(hsv, item[0], item[1])
@ -376,7 +376,7 @@ class Object_detect(Movement):
self.color = 0
elif mycolor == "green":
self.color = 1
elif mycolor == "cyan":
elif mycolor == "cyan" or mycolor == "blue":
self.color = 2
else:
self.color = 3

View file

@ -316,11 +316,13 @@ class Object_detect(Movement):
def color_detect(self, img):
# set the arrangement of color'HSV
x = y = 0
gs_img = cv2.GaussianBlur(img, (3, 3), 0) # 高斯模糊
# transfrom the img to model of gray
hsv = cv2.cvtColor(gs_img, cv2.COLOR_BGR2HSV)
for mycolor, item in self.HSV.items():
redLower = np.array(item[0])
redUpper = np.array(item[1])
# transfrom the img to model of gray
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# wipe off all color expect color in range
mask = cv2.inRange(hsv, item[0], item[1])
# a etching operation on a picture to remove edge roughness
@ -365,7 +367,7 @@ class Object_detect(Movement):
elif mycolor == "green":
self.color = 1
elif mycolor == "cyan":
elif mycolor == "cyan" or mycolor == "blue":
self.color = 2
else:
@ -400,7 +402,6 @@ if __name__ == "__main__":
_, frame = cap.read()
# deal img
frame = detect.transform_frame(frame)
if _init_ > 0:
_init_ -= 1
continue

View file

@ -73,33 +73,15 @@ class Object_detect(Movement):
# set cache of real coord
self.cache_x = self.cache_y = 0
# set color HSV
self.HSV = {
"yellow": [np.array([11, 115, 70]), np.array([40, 255, 245])],
"red": [np.array([0, 43, 46]), np.array([8, 255, 255])],
"green": [np.array([70, 100, 100]), np.array([90, 255, 255])], # [77, 255, 255]
"green": [np.array([35, 43, 35]), np.array([90, 255, 255])], # [77, 255, 255]
"blue": [np.array([100, 43, 46]), np.array([124, 255, 255])],
"cyan": [np.array([78, 43, 46]), np.array([99, 255, 255])], # np.array([78, 43, 46]), np.array([99, 255, 255])
}
# set color HSV
# self.HSV = {
# # "yellow": [np.array([11, 115, 70]), np.array([40, 255, 245])],
# "yellow": [np.array([22, 93, 70]), np.array([45, 255, 245])],
# "red": [np.array([0, 43, 46]), np.array([8, 255, 255])],
# # "green": [np.array([35, 43, 46]), np.array([77, 255, 255])],
# "green": [np.array([35, 55, 30]), np.array([88, 255, 255])],
# "blue": [np.array([100, 43, 46]), np.array([124, 255, 255])],
# # "blue": [np.array([-10, 100, 100]), np.array([10, 255, 255])],
# "cyan": [np.array([78, 43, 46]), np.array([99, 255, 255])],
# }
# self.HSV = {
# # "yellow": [np.array([11, 85, 70]), np.array([59, 255, 245])],
# "yellow": [np.array([22, 93, 0]), np.array([45, 255, 245])],
# "red": [np.array([0, 43, 46]), np.array([8, 255, 255])],
# "green": [np.array([35, 43, 35]), np.array([90, 255, 255])],
# # "blue": [np.array([100, 43, 46]), np.array([124, 255, 255])],
# "cyan": [np.array([78, 43, 46]), np.array([99, 255, 255])],
# }
# use to calculate coord between cube and mypal260
self.sum_x1 = self.sum_x2 = self.sum_y2 = self.sum_y1 = 0
# The coordinates of the grab center point relative to the mypal260
@ -328,14 +310,14 @@ class Object_detect(Movement):
def color_detect(self, img):
# set the arrangement of color'HSV
x = y = 0
gs_img = cv2.GaussianBlur(img, (3, 3), 0) # 高斯模糊
# transfrom the img to model of gray
hsv = cv2.cvtColor(gs_img, cv2.COLOR_BGR2HSV)
for mycolor, item in self.HSV.items():
# print("mycolor:",mycolor)
redLower = np.array(item[0])
redUpper = np.array(item[1])
# transfrom the img to model of gray
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# print("hsv",hsv)
# wipe off all color expect color in range
mask = cv2.inRange(hsv, item[0], item[1])
@ -380,64 +362,18 @@ class Object_detect(Movement):
# calculate the real coordinates of mypal260 relative to the target
if mycolor == "red":
self.color = 0
break
elif mycolor == "blue":
self.color = 2
break
elif mycolor == "green":
self.color = 1
break
elif mycolor == "cyan":
elif mycolor == "cyan" or mycolor == "blue":
self.color = 2
break
elif mycolor == "yellow":
self.color = 3
break
# elif mycolor == "green":
# self.color = 1
# if mycolor == "red":
# self.color = 0
# break
# elif mycolor == "green":
# self.color = 1
# print('green')
# break
# elif mycolor == "cyan":
# self.color = 2
# break
# elif mycolor == "blue":
# self.color = 2
# break
# elif mycolor == "yellow":
# self.color = 3
# break
# if mycolor == "yellow":
# self.color = 3
# print(mycolor)
# break
# elif mycolor == "red":
# self.color = 0
# print(mycolor)
# break
# elif mycolor == "cyan" or mycolor == "blue":
# self.color = 2
# print(mycolor)
# break
# # elif mycolor == "blue":
# # self.color =2
# # break
# else:
# self.color = 1
# print(mycolor)
# # break
else:
self.color = 3
if abs(x) + abs(y) > 0:
return x, y
else: