Git Product home page Git Product logo

camera_projection_painter_legacy's Introduction

Camera Projection Painter

Warning

Legacy addon. The new version is in beta testing and available here. This version remains here as a memory of the previous implementation. The last version of Blender on which you can use this version of the add-on is 2.92.

Logo

Today we proud present you new Camera Painter addon for Blender 2.83+ With lot of speedup improvements and MOST IMPORTANT feature ever - Support to original "distorted" images! Now you do not need export undistorted images from photogrammetry software, just export camera/lens intrinsic import this per camera/lens distortions coefficients and paint DIRECTLY FROM ORIGINAL PHOTOS!

Youtube Tutorial

Support on Patreon

camera_projection_painter_legacy's People

Contributors

ivan-perevala avatar

Stargazers

Dinesh M  avatar  avatar BUGP Association avatar  avatar Andrii Orlov avatar  avatar R.M.K avatar  avatar  avatar  avatar

Watchers

 avatar

camera_projection_painter_legacy's Issues

Convert unit of principal point (from pixel to mm w.r.t 35mm film format)

Thank you in advance for your great work for this add-on.

I'm trying to import model and camera information from ContextCapture into Blender, and use CPP for painting texture manually. I managed to assign all camera calibration/distortion parameters via script, except principal point.

The unit ContextCapture used for principal point is "image coordinates", while the parameter used in CPP is "mm".The pop-up info for principal point says "Deviation of the camera principal point in millimeters w.r.t 35mm film format". But it seems I failed to convert it right. The photos cannot align with the model perfectly.

The formula I used to convert principal point coordinates is:
px = (px' - cx) * sensor_width / image_width
py = (py' - cy) * sensor_height / image_height
where
(px, py): the coordinates of principal point, unit: mm
(px', py'): the coordinates of principal point in image plane, unit: pixel
(cx, cy): the coordinates of center point in image plane, unit: pixel
unit of sensor_width/sensor_height: mm
unit of image_width/image_height: pixel

How can I convert the coordinates w.r.t 35mm film format? Any advice is appreciated. Thank you!

Version 0.1.5 does not allow painting of images

I have been trying to follow your video tutorial, but it looks absolutely nothing like this version here on Github. I do the following:

  1. Export FBX from RealityCapture.
  2. Import FBX into Blender 2.83.
  3. Attempt to locate Camera Painter in Scene Settings, but it is only visible in Tool Settings.
  4. Select Source Images directory and click "Bind All Camera Images".
  5. Open the Texture section and under Textures, click + to add new Base Color texture.
  6. Set texture height and width to 8192, color to black, and uncheck Alpha.
  7. Click the Setup Context button. The view changes to Texture Draw with images loaded in cameras.
  8. Ensure that the new texture is selected (and the whole mesh is black).
  9. Click on camera origin of choice, and select "Set Active". A striped rectangle is now surrounding the projection area.
  10. Move brush over the texture / mesh and see that the image is being projected in the brush.
  11. Left-mouse click to try to paint with brush and "image-colored" brush freezes, but brush outline remains mobile.
  12. Release left mouse button, and nothing is painted.

I have tried every possible combination, CTRL-click, Shift-click..... and even changing the viewport mode to material, texture, vertex. There is absolutely nothing I can do that will allow painting with your tool on a mesh. Do you have any ideas why this may be happening and if there is any advice how to get a result? We've been struggling with this for nearly a week now with a wide variety of datasets. This tool was the only one that showed any promise, if we could only get it working.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.