fSpy

A cross platform app for quick and easy still image camera matching

Github星跟蹤圖

What is this?

fSpy is an open source, cross platform app for still image camera matching. See fspy.io for more info. The source code is available under the GPL license.

fSpy screenshot

Backstory

Once upon a time I wrote BLAM, a Blender add-on for still image camera calibration that, despite its clunky UI, has gained some popularity in the Blender community. fSpy is an attempt to bring BLAM's functionality to a wider audience in the form of a stand alone app.

Using the computed camera parameters in other applications

In theory, camera parameters computed by fSpy could be used in any application that has a notion of a 3D camera and provides some way of setting the camera parameters. If you're a Blender user, have a look at the offical fSpy importer add-on. If you're using an application without a dedicated importer, you may still be able to manually copy the camera parameters from fSpy.

Interested in writing an importer for your favorite application? Then the fSpy project file format spec is a good starting point.

Building and running

The following instructions are for developers. If you just want to run the app, download the latest executable for your platform.

fSpy is written in Typescript using Electron, React and Redux. Visual Studio Code is recommended for a pleasant editing experience.

To install necessary dependencies, run

yarn

The src folder contains two subfolders main and gui, containing code for the Electron main and renderer processes respectively.

Here's how to run the app in development mode

  1. Run yarn dev-server in a separate terminal tab to start the dev server
  2. Run yarn build-dev to build both the main and GUI code. This build step is needed to generate main process code used to start up the app.
  3. Run yarn electron-dev in a separate terminal tab to start an Electron instance which uses the dev server to provide automatic reloading on GUI code changes.

⚠️ The current build process is not ideal. For example, it lacks support for live reloading on main process code changes. Changes to main process code require a manual rebuild, i.e steps 2-3, in order to show up in the app.

Creating binaries for distribution

To create executables for distribution, run

yarn dist

which invokes Electron builder.

主要指標

概覽
名稱與所有者stuffmatic/fSpy
主編程語言TypeScript
編程語言HTML (語言數: 6)
平台
許可證GNU General Public License v3.0
所有者活动
創建於2018-06-15 11:02:37
推送於2022-12-08 17:16:22
最后一次提交
發布數16
最新版本名稱1.1.0-beta.3 (發布於 )
第一版名稱v1.0.0-alpha.1 (發布於 )
用户参与
星數2.3k
關注者數80
派生數219
提交數562
已啟用問題?
問題數102
打開的問題數78
拉請求數2
打開的拉請求數30
關閉的拉請求數19
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?