作者: Jet L

  • 【全景图】大疆球形全景合成2:1全景图(等距柱状投影)

    前言:

    全景平台普遍要求提供2:1的等距柱状投影全景图,而大家使用无人机拍摄的全景图则是为球形全景图而设计的,因此我们需要一些手段将其进行转换与合成。

    网络上的教程普遍基于PTGui,该软件好用易用且可以很方便的补天。不过该软件是付费软件,虽然可以进行破解,但有没有开源的软件可以进行制作?

    当然有,我们可以使用开源的全景合成软件—— Hugin 对全景图进行合成。

    用到的软件:Hugin(合成)、Photoshop(补天)。

    点击快速跳转步骤:

    步骤:

    1、导入大疆全景图片

    Hugin有三个用户界面,后两个涉及一些复杂操作,我推荐使用第一个简单界面来导入与修正图片。

    直接点击加载图片,选择大疆全景图文件夹,将全景图片全选导入。

    你会看到载入的图片犬牙交错,导入成功后我们可以进入下一步骤。

    2、分析图片,创建2:1全景图,调整轴心

    点击排列,软件会启动脚本,分析各个图片的关联,创建相应的控制点。

    该过程需要耗费一定的时间。

    等待脚本运行完毕,我们可以在预览界面看到排列完成的图片。

    其中的天空有一大片空缺,这里先不用管,因为无人机拍摄时候确实没法向上拍摄,这里的补天我们可以通过PS中的一个简单步骤实现。

    另外,这里需要注意的是我们需要提前指定全景图片的三轴,可以在移动工具中,拖动左侧的全景球来指定相应轴心位置。

    3、导出全景图

    接下来我们导出2:1的全景图。如果直接点击创建全景图像,你会发现分辨率是不对的,因此我们切换界面,使用高级功能导出。

    点击高级界面。

    可以看到全景图的控制点等已经创建完毕,其他的不用动,我们点击该界面的缝合器。

    投影确认是等矩形。然后我们点击计算优化尺寸。

    这时尺寸会重新计算,得到我们需要的足够清晰的输出尺寸。

    点击缝合按钮,脚本开始运行,这时软件会创建一个PTO项目文件,以及多个TIF文件,最终会输出一张合并完成的TIF全景图片文件。

    而后我们对缺失的天空部分进行填充。

    4、补天

    将图片导入Photoshop,使用选区工具框选缺失部分及周围部分天空。

    使用填充工具,对空缺部分进行填充。

    在此过程中我们还可以对图片进行一些色彩调整,完成后导出,我们就得到了一个很棒的2:1全景图,而后可以将其导入到其他全景平台进行内容制作。

    5、效果展示

    此处若出现跨域问题,则需要修改Nginx的配置文件,对类型图片进行请求放行。

    这个全景效果使用了pannellum.js,可以很方便置入网站来进行展示。

    <script src="https://cdn.jsdelivr.net/npm/pannellum/build/pannellum.js"></script>
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/pannellum/build/pannellum.css">
        <style>
            #panorama {
                width: 100%;
                height: 500px;
            }
        </style>
    </head>
    <body>
        <div id="panorama"></div>
        <script>
            pannellum.viewer('panorama', {
                "type": "equirectangular",
                "panorama": "xxx.jpg", // 图片地址
                "autoLoad": true,
                "compass": true // 显示指南针
            });
        </script>
    </body>

  • 【小贴士】ToDesk电脑端可以远程但手机端控制无反应的一种情况

    结论放在前面:代理没关。

    最近使用ToDesk远程公司电脑用的十分欢乐,临时有事也不用赶回公司处理了,直到前两天出现了一个很奇怪的问题,手机端远程没有反应,在发送Ctrl+Alt+Delete时可以切换到挂起界面,但无论是触控还是虚拟鼠标模式均无法控制画面。

    但是从电脑端发起远程完全可以控制,一时间百思不得其解,在重新安装手机APP及重登录、切换控制方式后都无法得到解决。

    直到我使用电脑端控制在被控端打开了网页发现某些站点持续离线,才发现是此前的代理进程没有关闭,导致了部分端口占用,以至于控制功能的部分丧失。

    重启代理并且关闭进程后问题得以解决

  • 【网站】为WordPress启用持久对象存储(Redis及Memcached)

    一、服务器为Debian、采用PHP,使用Redis:

    1、安装Redis:

    apt install redis-server

    2、检查Redis状态

    systemctl status redis-server

    3、一切无误后,启用插件进行管理,推荐使用插件——Redis Object Cache,配置完成后即可实现启用持久对象存储。

    如果想使用 Object Cache Pro,则需要配置PHP Redis,在此不详述,对一般网站和用户来说Redis Object Cache已经足够。


    二、服务器为Debian、采用PHP,使用Memcached:

    1、安装Memcached:

    apt install memcached libmemcached-tools

    2、安装Memcached PHP 扩展

    apt install php-memcached

    检查扩展是否成功安装:

    php -m | grep memcached 

    检查Memcached状态:

    systemctl status memcached

    检查端口状态:

    netstat -plntu | grep memcached

    3、一切无误后,启用插件进行管理,这是由于PHP版本持续更新,而网上的一些WordPress 对象缓存文件并不能对最新版本的PHP完美兼容,因此推荐使用 W3 Total Cache插件进行启用,配置完成后即可实现启用持久对象存储。