function step10SuperimposeFrames(src, dst, strip_frames, do_desc=false) {
if (do_desc) {
return "Frames (green) superimposed onto the original image. Note how each green rectangle contains one image frame, and how the image frame numbers (green) correspond to the numbers on the film strip itself."
}
src.copyTo(dst)
let strip_frame_conts = new cv.MatVector()
contsFromPerfs(strip_frames, strip_frame_conts)
cv.drawContours(dst, strip_frame_conts, -1, [0,255,0,255], dim('line_weight'), cv.LINE_AA)
for (let i = 0; i < strip_frames.length; ++i) {
let f_com = strip_frames[i]['com']
let text_or = {x: f_com.x-dim('frame_height')/3, y: f_com.y}
let y_offset = {x: 0, y: dim('frame_height')/4}
cv.putText(dst, `${i+1}`, add(text_or, dot(y_offset, 3)), cv.FONT_HERSHEY_SIMPLEX, dim('font_size')/1.7, [0,255,0,255], dim('line_weight'), cv.LINE_AA)
}
}