Detecting features between image and stl

I am trying to match an image of a build plate (square with some holes in the corners) to an stl of the build plate. I want to rotate the stl of the build plate to match the angle from the camera. can this be done? should i be using feature detect?

show images, please …

Screenshot 2021-09-01 3.41.15 PM

I do not have pictures of the final build plate but something along the lines of this.

and here is the photo i want to match the stl with

that picture is nearly useless.

could you perhaps explain why you need this (purpose), and what alternatives to doing that are on the table, and what alternatives have been discarded, for what reasons? that might help readers care about the problem. as it is, it seems like a tedious problem that likely shouldn’t even be solved because it only exists because of your choice of solution to another problem that’s the real one.

1 Like

i’m trying to match an stl with a camera watching a 3d printer. but i need the two images to be in the same orientation so they can be compared accurately. i’ve used homography to find similar points in the two images but if they are not lined up correctly the points are all wrong. so i want to do

  1. find the angle the build plate is relative to the camera
  2. take that translation/rotation matrix and the rotate the stl and take slices to compare to the images from a camera

id say so, too. (for *feature matching)
also, whatever 2d rendering of your stl will even be worse.

feature matching needs texture, all you have is outlines

btw, remove the python tag ?
(its not about languages, more a “fundamental cv” thing)

Okay, then looks like i will be using corner detection

gl.
garbage in, garbage out, i’m afraid

the camera doesn’t move, right?

calibrate the camera’s position relative to the build platform, not a random model.

have the user print some 1-layer aruco markers in black, at a known location on the build bed. those should be easy to detect and work with for extrinsic calibration.

as for intrinsic calibration (i.e. just the camera), the regular chess board stuff.

the “why” is still unclear. why do you need what you need? if you think you’re done explaining, imagine me asking “why” again. children do that because it leads to information, because adults are notoriously incapable of making sense. do you perhaps try to monitor build progress, and detect errors, by comparing a view of the result with the STL model? I hate having to generate hypotheses.