MCPcopy
hub / github.com/dbolya/yolact / render

Function render

web/scripts/viewer.js:169–235  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

167}
168
169function render() {
170 var canvas = document.querySelector('#image_canvas');
171 var ctx = canvas.getContext('2d');
172
173 canvas.style.width='100%';
174 canvas.style.height='94%';
175 canvas.width = canvas.offsetWidth;
176 canvas.height = canvas.offsetHeight;
177
178 var scale = Math.min(canvas.width / img.width, canvas.height / img.height);
179
180 var im_x = canvas.width/2-img.width*scale/2;
181 var im_y = canvas.height/2-img.height*scale/2;
182 ctx.translate(im_x, im_y);
183 ctx.drawImage(img, 0, 0, img.width * scale, img.height * scale);
184
185 var startIdx = Math.min(dets.length, settings.top_k)-1;
186 var endIdx = (settings.show_one ? startIdx : 0);
187
188 // Draw masks behind everything
189 for (var i = startIdx; i >= endIdx; i--) {
190 if (settings.show_mask) {
191 var mask = masks[i];
192 if (typeof mask == 'undefined') {
193 masks[i] = load_RLE(dets[i].mask, hexToRgb(colors[i % colors.length]));
194 masks[i].onload = function() { render(); }
195 } else {
196 ctx.globalAlpha = settings.mask_alpha / 255;
197 ctx.drawImage(mask, 0, 0, mask.width * scale, mask.height * scale);
198 ctx.globalAlpha = 1;
199 }
200 }
201 }
202
203 for (var i = startIdx; i >= endIdx; i--) {
204 ctx.strokeStyle = colors[i % colors.length];
205 ctx.fillStyle = ctx.strokeStyle;
206 ctx.lineWidth = 4;
207 ctx.font = settings.font_height + 'px sans-serif';
208
209 var x = dets[i].bbox[0] * scale;
210 var y = dets[i].bbox[1] * scale;
211 var w = dets[i].bbox[2] * scale;
212 var h = dets[i].bbox[3] * scale;
213
214 if (settings.show_bbox) {
215 ctx.strokeRect(x, y, w, h);
216 ctx.stroke();
217 }
218
219 var text_array = []
220 if (settings.show_class)
221 text_array.push(dets[i].category);
222 if (settings.show_score)
223 text_array.push(Math.round(dets[i].score * 1000) / 1000);
224
225 if (text_array.length > 0) {
226 var text = text_array.join(' ');

Callers 3

viewer.jsFile · 0.70
make_sliderFunction · 0.70
make_toggleFunction · 0.70

Calls 3

load_RLEFunction · 0.85
hexToRgbFunction · 0.85
pushMethod · 0.80

Tested by

no test coverage detected