Skip to content

Commit 0042a5f

Browse files
committed
wip #64
1 parent 5030c51 commit 0042a5f

File tree

6 files changed

+13
-11
lines changed

6 files changed

+13
-11
lines changed

.camera.py.swp

Whitespace-only changes.

camera.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,20 +218,21 @@ def get_average(self):
218218
return avg
219219

220220
def find_line(self):
221-
img = self.get_image().binarize()
221+
img = self.get_image().binarize().invert()
222+
img = img.erode().dilate()
222223
slices = [0,0,0]
223224
blobs = [0,0,0]
224225
slices[0] = img.crop(0, int(self._camera.out_rgb_resolution[1]/1.2), self._camera.out_rgb_resolution[0], self._camera.out_rgb_resolution[1])
225226
slices[1] = img.crop(0, int(self._camera.out_rgb_resolution[1]/1.5), self._camera.out_rgb_resolution[0], int(self._camera.out_rgb_resolution[1]/1.2))
226227
slices[2] = img.crop(0, int(self._camera.out_rgb_resolution[1]/2.0), self._camera.out_rgb_resolution[0], int(self._camera.out_rgb_resolution[1]/1.5))
227228
coords = [-1, -1, -1]
228229
for idx, slice in enumerate(slices):
229-
blobs[idx] = slice.find_blobs(minsize=480/(self._cv_image_factor * self._cv_image_factor), maxsize=6400/(self._cv_image_factor * self._cv_image_factor))
230+
blobs[idx] = slice.find_blobs(minsize=4000/(self._cv_image_factor * self._cv_image_factor), maxsize=8000/(self._cv_image_factor * self._cv_image_factor))
230231
if len(blobs[idx]):
231232
coords[idx] = (blobs[idx][0].center[0] * 100) / self._camera.out_rgb_resolution[0]
232233
logging.info("line coord: " + str(idx) + " " + str(coords[idx])+ " area: " + str(blobs[idx][0].area()))
233234

234-
return coords[0]
235+
return coords
235236

236237
def find_signal(self):
237238
angle = None

coderbot.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"move_tr_speed": "85", "move_fw_elapse": "1", "camera_color_object_size_min": "4000", "camera_jpeg_bitrate": "2000000", "load_at_start": "", "move_tr_elapse": "0.5", "sound_stop": "$shutdown.mp3", "show_control_move_commands": "true", "prog_level": "adv", "prog_scrollbars": "true", "move_fw_speed": "100", "camera_color_object_size_max": "160000", "sound_shutter": "$shutter.mp3", "show_page_prefs": "true", "cv_image_factor": "2", "ctrl_hud_image": "", "button_func": "none", "ctrl_fw_elapse": "-1", "ctrl_tr_elapse": "-1", "move_power_angle_2": "60", "move_power_angle_3": "60", "camera_path_object_size_max": "160000", "move_motor_trim": "1", "camera_path_object_size_min": "4000", "cnn_default_model": "harry_3_50", "show_page_program": "true", "sound_start": "$startup.mp3", "camera_exposure_mode": "auto", "ctrl_tr_speed": "80", "prog_move_mpu": "yes", "ctrl_fw_speed": "100", "camera_jpeg_quality": "20", "prog_maxblocks": "-1", "camera_framerate": "30", "move_motor_mode": "dc", "move_power_angle_1": "45", "show_page_control": "true"}
1+
{"move_tr_speed": "85", "move_fw_elapse": "1", "camera_color_object_size_min": "4000", "camera_jpeg_bitrate": "2000000", "load_at_start": "", "move_tr_elapse": "0.5", "sound_stop": "$shutdown.mp3", "show_control_move_commands": "true", "prog_level": "adv", "prog_scrollbars": "true", "move_fw_speed": "100", "camera_color_object_size_max": "160000", "sound_shutter": "$shutter.mp3", "show_page_prefs": "true", "cv_image_factor": "2", "ctrl_hud_image": "", "button_func": "none", "ctrl_fw_elapse": "-1", "ctrl_tr_elapse": "-1", "move_power_angle_2": "60", "move_power_angle_3": "60", "camera_path_object_size_max": "160000", "move_motor_trim": "1", "camera_path_object_size_min": "4000", "cnn_default_model": "harry_3_50", "show_page_program": "true", "sound_start": "$startup.mp3", "camera_exposure_mode": "auto", "ctrl_tr_speed": "80", "ctrl_fw_speed": "100", "camera_jpeg_quality": "20", "prog_maxblocks": "-1", "camera_framerate": "30", "move_motor_mode": "dc", "move_power_angle_1": "45", "show_page_control": "true"}

cv/image.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -273,11 +273,12 @@ def find_ar_code(self):
273273
if ids is not None:
274274
print ids
275275
for i in range(0, len(ids)):
276-
codes.append(ids[i][0])
277-
rect = corners[i][0]
278-
positions.append([(rect[0][0]+rect[1][0]+rect[2][0]+rect[3][0])/4,
279-
(rect[0][1]+rect[1][1]+rect[2][1]+rect[3][1])/4])
280-
return {"codes": codes, "positions": positions}
276+
if ids[i][0] != 1023:
277+
codes.append(ids[i][0])
278+
rect = corners[i][0]
279+
positions.append([(rect[0][0]+rect[1][0]+rect[2][0]+rect[3][0])/4,
280+
(rect[0][1]+rect[1][1]+rect[2][1]+rect[3][1])/4])
281+
return {"codes": codes, "positions": positions}
281282

282283
def to_jpeg(self):
283284
ret, jpeg_array = cv2.imencode('.jpeg', self._data)

static/js/blockly/blocks.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ Blockly.Blocks['coderbot_adv_findLine'] = {
504504
this.setColour(250);
505505
this.appendDummyInput()
506506
.appendField(Blockly.Msg.CODERBOT_SENSOR_FINDLINE);
507-
this.setOutput(true, 'Number');
507+
this.setOutput(true, 'Array');
508508
this.setTooltip(Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP);
509509
}
510510
};

static/js/program.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ $(document).on( "pageshow", '#page-program', function( event, ui ) {
88
scrollbars:CODERBOT_PROG_SCROLLBARS, maxBlocks:CODERBOT_PROG_MAXBLOCKS,
99
zoom:
1010
{controls: true,
11-
wheel: true,
11+
wheel: false,
1212
startScale: 1.0, //you can change this accorting to your needs.
1313
maxScale: 1.5,
1414
minScale: 0.2

0 commit comments

Comments
 (0)