<div dir="ltr"><br><div>I'm working on a project to perform edge detection on a high resolution (1280x720) GRAY8 video stream, and then overlay the extracted edges onto a lower resolution (80x60) RGB thermal video stream.  The final output would be a 640x480 RGB video stream.  This is an embedded system, so I'm sensitive to things like excessive colorspace conversions. </div><div><br></div><div>I'm looking for a critique of my intended method.</div><div><br></div><div>My thought is that the way to do this is to first videoscale the visible stream down to 640x480.  Then, write an element which will do the sobel operation on the GRAY8 video, and output RGBA format video where the alpha channel corresponds to the "background" of the edge detected image. </div><div><br></div><div>The thermal can then be scaled up to 640x480 (RGB), and the compositor element can overlay the edges onto it.</div><div><br></div><div>Is there any easier path that I am missing, or anything I might be overlooking?  I had considered using opencl in for the sobel operation, but I thought I would try it first with pure cpu and see if the performance was acceptable.</div><div><br></div><div>Thanks,<br>Chris</div><div> </div><div><br></div></div>