Skip to content

Commit fd2d52e

Browse files
committed
fix #120
1 parent ad291ce commit fd2d52e

10 files changed

+7
-19
lines changed

camera.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -267,10 +267,8 @@ def find_signal(self):
267267
def find_face(self):
268268
face_x = face_y = face_size = None
269269
img = self.get_image()
270-
ts = time.time()
271270
faces = img.grayscale().find_faces()
272-
logging.info("face.detect: %s", str(time.time() - ts))
273-
if faces:
271+
if len(faces):
274272
# Get the largest face, face is a rectangle
275273
x, y, w, h = faces[0]
276274
center_x = x + (w/2)
@@ -283,26 +281,23 @@ def find_face(self):
283281
return [face_x, face_y, face_size]
284282

285283
def path_ahead(self):
286-
287284
image_size = self._camera.out_rgb_resolution
288-
#ts = time.time()
289285
img = self.get_image()
290286

291287
size_y = img._data.shape[0]
292288
size_x = img._data.shape[1]
293-
threshold = img.crop(0, size_y - (size_y/12), size_x, size_y)._data.mean() / 2
289+
threshold = img.crop(0, size_y - int(size_y/12), size_x, size_y)._data.mean() / 2
294290

295291
blobs = img.binarize(threshold).dilate().find_blobs(minsize=self._path_object_size_min, maxsize=self._path_object_size_max)
296292
coordY = 60
297293
if blobs:
298294
obstacle = blob.Blob.sort_distance((image_size[0]/2, image_size[1]), blobs)[0]
299295

300-
logging.info("obstacle: %s", str(obstacle.bottom))
301296
coords = img.transform([(obstacle.center[0], obstacle.bottom)], img.get_transform(img.size()[1]))
302297
x = coords[0][0]
303298
y = coords[0][1]
304299
coordY = 60 - ((y * 48) / (480 / self._cv_image_factor))
305-
logging.info("x: " + str(x) + " y: " + str(y) + " coordY: " + str(coordY))
300+
logging.info("x: %s y: %s coordY: %s", str(x), str(y), str(coordY))
306301

307302
return coordY
308303

@@ -320,7 +315,7 @@ def find_color(self, s_color):
320315
fov_total_y = 68 #cm
321316
fov_total_x = 60 #cm
322317

323-
if objects and objects:
318+
if objects:
324319
obj = objects[-1]
325320
logging.info("bottom: " + str(obj.center[0]) + " " + str(obj.bottom))
326321
coords = bw.transform([(obj.center[0], obj.bottom)], bw.get_transform(bw.size()[1]))

cv/image.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
}
3333

3434
try:
35-
ocr = cv2.text.OCRTesseract_create(Null, "eng", tesseract_whitelists['unspec'], 0, cv2.text.OCR_LEVEL_TEXTLINE)
35+
ocr = cv2.text.OCRTesseract_create(language="eng", char_whitelist=tesseract_whitelists['unspec'], oem=0, psmode=cv2.text.OCR_LEVEL_TEXTLINE)
3636
except:
3737
logging.info("tesseract not availabe")
3838

@@ -248,10 +248,8 @@ def find_rect(self, color):
248248

249249
def find_text(self, accept):
250250
wlist = tesseract_whitelists.get(accept, None)
251-
t = time.time()
252251
ocr.setWhiteList(wlist)
253252
text = ocr.run(self._data, 60)
254-
logging.info("time: " + str(time.time() - t) + " text: " +str(text))
255253
return text
256254

257255
def find_qr_code(self):
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"dom_code": "", "code": "while True:\n get_prog_eng().check_end()\n if get_bot().get_sonar_distance(0) < 15:\n get_bot().backward(speed=100, elapse=0.5)\n get_bot().right(speed=100, elapse=0.7)\n else:\n get_bot().forward(speed=100, elapse=0.5)\nget_bot().stop()\n", "name": "obstacle_avoidance", "default": "True"}
1+
{"name": "demo_obstacle_avoidance", "default": false, "code": "while True:\n get_prog_eng().check_end()\n if get_bot().get_sonar_distance(0) < 15:\n get_bot().right(speed=100, elapse=0.5)\n else:\n get_bot().forward(speed=100, elapse=1)\n", "dom_code": "<xml xmlns=\"http://www.w3.org/1999/xhtml\"><variables></variables><block type=\"controls_whileUntil\" id=\"-yfR%N=ZA:dr/vf[$_Y+\" x=\"9\" y=\"103\"><field name=\"MODE\">WHILE</field><value name=\"BOOL\"><block type=\"logic_boolean\" id=\"H@,=TqL*XM3|6M}Z:3+C\"><field name=\"BOOL\">TRUE</field></block></value><statement name=\"DO\"><block type=\"controls_if\" id=\"D~6eYo_:!JGW/LOSHdG-\"><mutation else=\"1\"></mutation><value name=\"IF0\"><block type=\"logic_compare\" id=\"Otlt5#y}Bm[e5ta5;YxY\"><field name=\"OP\">LT</field><value name=\"A\"><block type=\"coderbot_sonar_get_distance\" id=\"ssLQq~!Drc._YB6B-d3S\"><field name=\"SONAR\">0</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"eH-VJ17iCGoZyj+UEq:}\"><field name=\"NUM\">15</field></block></value></block></value><statement name=\"DO0\"><block type=\"coderbot_adv_move\" id=\"trpdU@xT,u;^uH#kGc;f\"><field name=\"ACTION\">RIGHT</field><value name=\"SPEED\"><block type=\"math_number\" id=\"LNg%=nl9p;4Ib`yn]hP8\"><field name=\"NUM\">100</field></block></value><value name=\"ELAPSE\"><block type=\"math_number\" id=\"iS!-;G+snS)ML@1l1*P%\"><field name=\"NUM\">0.5</field></block></value></block></statement><statement name=\"ELSE\"><block type=\"coderbot_adv_move\" id=\"VxFs%Ie:uau;?%8H_;b{\"><field name=\"ACTION\">FORWARD</field><value name=\"SPEED\"><block type=\"math_number\" id=\"~,ygpvFtKIs_R${W*q8e\"><field name=\"NUM\">100</field></block></value><value name=\"ELAPSE\"><block type=\"math_number\" id=\"Hs$baRlg*_rwO(m,0?yU\"><field name=\"NUM\">1</field></block></value></block></statement></block></statement></block></xml>"}

data/defaults/programs/program_test_find_text.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

data/defaults/programs/program_test_sonar.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

data/defaults/programs/program_test_sound.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

data/program_cnn_test.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

data/program_test_record_sound.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

data/programs.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"_default": {"1": {"default": "False", "filename": "./data/program_cnn_test.json", "name": "cnn_test"}, "2": {"default": "False", "filename": "./data/program_test_record_sound.json", "name": "test_record_sound"}, "3": {"default": "False", "filename": "./data/program_event_test.data", "name": "event_test"}, "4": {"default": "True", "filename": "./data/defaults/programs/program_demo_obstacle_avoidance.json", "name": "demo_obstacle_avoidance"}, "5": {"default": "True", "filename": "./data/defaults/programs/program_demo_line_follower.json", "name": "demo_line_follower"}, "6": {"default": "True", "filename": "./data/defaults/programs/program_test_find_code.json", "name": "test_find_code"}, "7": {"default": "True", "filename": "./data/defaults/programs/program_demo_color_seeker.json", "name": "demo_color_seeker"}, "8": {"default": "True", "filename": "./data/defaults/programs/program_demo_sound_clap_control.json", "name": "demo_sound_clap_control"}, "9": {"default": "True", "filename": "./data/defaults/programs/program_test_sound_hear.json", "name": "test_sound_hear"}, "10": {"default": "True", "filename": "./data/defaults/programs/program_test_find_path_ahead.json", "name": "test_find_path_ahead"}, "11": {"default": "True", "filename": "./data/defaults/programs/program_test_find_face.json", "name": "test_find_face"}, "12": {"default": "True", "filename": "./data/defaults/programs/program_test_img_average.json", "name": "test_img_average"}, "13": {"default": "True", "filename": "./data/defaults/programs/program_test_cnn.json", "name": "test_cnn"}, "14": {"default": "True", "filename": "./data/defaults/programs/program_test_sound.json", "name": "test_sound"}, "15": {"default": "True", "filename": "./data/defaults/programs/program_test_find_text.json", "name": "test_find_text"}, "16": {"default": "True", "filename": "./data/defaults/programs/program_demo_ar.json", "name": "demo_ar"}, "17": {"default": "True", "filename": "./data/defaults/programs/program_test_find_color.json", "name": "test_find_color"}, "18": {"default": "True", "filename": "./data/defaults/programs/program_test_sonar.json", "name": "test_sonar"}, "19": {"default": "True", "filename": "./data/defaults/programs/program_test_sound_rec.json", "name": "test_sound_rec"}}}
1+
{"_default": {"1": {"name": "demo_obstacle_avoidance", "filename": "./data/defaults/programs/program_demo_obstacle_avoidance.json", "default": "True"}, "2": {"name": "demo_line_follower", "filename": "./data/defaults/programs/program_demo_line_follower.json", "default": "True"}, "3": {"name": "test_find_code", "filename": "./data/defaults/programs/program_test_find_code.json", "default": "True"}, "4": {"name": "demo_color_seeker", "filename": "./data/defaults/programs/program_demo_color_seeker.json", "default": "True"}, "5": {"name": "demo_sound_clap_control", "filename": "./data/defaults/programs/program_demo_sound_clap_control.json", "default": "True"}, "6": {"name": "test_sound_hear", "filename": "./data/defaults/programs/program_test_sound_hear.json", "default": "True"}, "7": {"name": "test_find_path_ahead", "filename": "./data/defaults/programs/program_test_find_path_ahead.json", "default": "True"}, "8": {"name": "test_find_face", "filename": "./data/defaults/programs/program_test_find_face.json", "default": "True"}, "9": {"name": "demo_ar_tags", "filename": "./data/defaults/programs/program_demo_ar_tags.json", "default": "True"}, "10": {"name": "test_img_average", "filename": "./data/defaults/programs/program_test_img_average.json", "default": "True"}, "11": {"name": "test_cnn", "filename": "./data/defaults/programs/program_test_cnn.json", "default": "True"}, "12": {"name": "test_find_color", "filename": "./data/defaults/programs/program_test_find_color.json", "default": "True"}, "13": {"name": "test_sound_rec", "filename": "./data/defaults/programs/program_test_sound_rec.json", "default": "True"}}}

0 commit comments

Comments
 (0)