图片后期Lightroom

█ 文章目录

1、LR基本操作面板介绍

2、学会看懂直方图

3、了解影调和色调

4、熟悉HSL工具

5、后期技巧之认识颜色

6、后期技巧之万能曲线工具

7、后期技巧之选择性局部工具

一开始。让我们先来看一组利用Lightroom修出来的手机摄影作品。

Warren伦仔

Lightroom号称万能修图软件,当我们熟悉其中知识和原理后,就能可以通过后期修出风格多变的照片啦。话不多说,让我们进入正题!

1. LR基本操作面板介绍

对于刚接触一款陌生的修图软件,首先要做的就是要知道每一个功能分布的位置,了解每一个功能是相对于调整什么。下图中红色标注的几大板块是重点,也是需要我们对它进行深度剖析,请接着看下面~

2. 学会看懂直方图

直方图作用:可以清楚的帮我们了解画面的过曝和欠曝区域以及颜色的分布。

熟悉直方图每个区域相对应位置的作用,真正理解了黑色,阴影,曝光度,高光和白色的意义,以及每个颜色元素分布的高低。我们才能根据照片的直方图“对症下药”,处理影调和色调关系,修出理想的照片。

3. 了解影调和色调

了解Lightroom基本面板和直方图后,首先来理解两个词汇“影调”和“色调”。任何一张照片都是由影调和色调两部分组成的。

第一张黑白图片,它体现出了照片中的明暗黑白灰层次和线条轮廓。这种明暗和轮廓,就可以理解为照片的“影调”。我们经常说一张片子是暗调深沉的,亮调清新的,对比突出的,朦胧虚无的,就是指的照片的影调。第二张图是上色后的效果,它体现出了照片中颜色的色相和浓度。我们形容一张照片偏冷,偏暖,很浓,很淡,就是说的照片的色调。

 影调介绍

曝光度:影响画面全局亮度的高低变化

对比度:可以控制画面的层次变化。右滑时照片对比度加大,从黑到白的渐变层次变多,从而色彩表现越丰富。当然后面也可以通过色调分离,调整阴影,白色,黑色区域可以达到一样的效果。

高光:画面较亮的部分,减少高光可以避免画面过曝,还原较亮区域细节。

阴影:画面较暗的部分,提高阴影可以还原暗部细节,反之则增加暗部黑色。

白色色阶:照片中最亮的部分,基本没什么细节

黑色色阶:照片中最暗的部分。

影调界面

通过调整以上各类数值,对画面黑白灰关系进行处理,也称之为一级调色。

影调调整最后一个参数是“清晰度”。清晰度滑块右移会增加照片中间调(曝光度区域)的对比度,并且重点强化主物体边缘的对比度,从而让物体的纹理和细节更加清晰,对岩石,眼睛,衣服等表面有丰富纹理的物体,提高清晰度会让他们的细节更加突出,反之则减弱。

 色调介绍

色调界面

色温和色调参数控制了照片的整体色相,而“饱和度”和“自然饱和度”滑块则可以调整照片的色彩浓度。

色温:向左移动可以让画面变蓝、加冷色调,右移会让照片变黄、加暖色调。

色调:左移会让照片更偏青色,右移会让照片更偏紫色。

自然饱和度:度顾名思义,在调整照片时让色彩更“自然”一些,因为它是重点提升照片中不太饱和的色彩,已经很饱和的色彩则被保护了起来。

饱和度:右移会加强照片中所有色彩的纯度,让颜色更加浓烈,左移则会减少色彩纯度,减到-100时照片就成黑白的了。

4. HSL工具

什么是HSL:意思就是色相(Hue)、饱和度(Saturation)和亮度(Lightness)这三个颜色属性的简称。

通过调整HSL各类数值和分离色调,对画面颜色进行改变,协调统一,也称之为二级调色(风格化)。

 色相介绍

色相(Hue)是色彩的基本属性,就是人们平常所说的颜色名称,我们可以在一个圆环上表示出所有的色相。

色环上的0度、120度、240度位置,分别对应了RGB模型的红、绿、蓝三原色。原色两两混合形成了二次色。比如黄色(60度)就是由红色和绿色混合而成;蓝色和绿色则相加形成青色(180度);品红(300度)则由红蓝两色组成。

饱和度介绍

饱和度(Saturation)是指色彩的纯度,饱和度越高色彩越纯越浓,饱和度越低则色彩变灰变淡。

亮度介绍

亮度(Lightness)指的是色彩的明暗程度,亮度值越高,色彩越白,亮度越低,色彩越黑。

5. 后期技巧之认识颜色

调色是大家学习摄影后期时的一大难题。其根源并不在于我们不明白各种调色工具的使用,而是大家常常缺乏思路,不知道怎样搭配色彩才舒服、好看。

要学习色相的搭配,首先要认识RYB色环,这个色环是以红黄蓝这三种颜色为原色的色环。

色环上一共有12种主要颜色。在0度位置是黄色,120度位置是红色,240度位置是蓝色。

黄色和红色之间,有黄橙、橙、红橙三种颜色。红色和蓝色之间,有紫红、紫、蓝紫三种颜色。在蓝色和黄色之间,有青、绿、黄绿三种颜色。

基于RYB色环,有以下的常见色彩搭配模型:

单色

单色搭配,就是整张照片里面,几乎只有一个色相,只依靠色彩的明度和饱和度变化来产生层次。单色搭配的极端情况就是黑白照片。

单色照片的氛围感很强。而且由于缺少色彩的吸引眼球,读者可以更加关注画面的明暗、构图和内容。

天空海水都是纯蓝色系,由于只有一个色彩,画面会显得干净纯洁。

相似色

有的时候画面中颜色太多,如果统一成单一色相会非常的奇怪,而我们又想保持色彩的和谐。此时我们就可以用相似色的搭配模型。

相似色搭配,就是在RYB色环中,找到一组相邻的色相来搭配照片(不一定非要是3个相邻色相,位置相近是2-4个色相都是没问题的)。相似色比单色更加丰富,但由于色相相近,不会产生太多的冲突感。

日落时候的建筑场景,用了相似色的搭配模型,整张的色彩是色环上的黄色、橙色和紫色。相似色的搭配,让整张照片显得更加凸显黄昏时的宁静、和谐。

互补色

摄影中最受欢迎的色彩搭配模型,非属互补色搭配了。黄橙-蓝紫,橙-蓝等等黄金互补色,大量应用在日落日出大片和城市夜景风光中。

互补色,指的是RYB色环中,180度相对的两种颜色。互补色的搭配,非常的具有冲击力。

而且很多自然场景,比如日落时的蓝色天空和橙色阳光,本来就是互补色的组合,人类在千百年的进化中,已经深受自然影响,对互补色有很强的感知力。

夕阳,利用了常见的互补色原理,天空的青蓝色与橙黄色建筑物搭配。

冷暖

在色环中,黄色、黄橙色、橙色、红橙色、红色叫做暖色,绿色、青色、蓝色、蓝紫色、紫色叫做冷色。黄绿和紫红比较中性,成为了冷暖的分界线。

很多时候,我们并不一定非要把照片调成橙-蓝、黄橙-蓝紫这样的黄金互补组合。其实只要我们用一个冷色,搭配一个暖色,效果就足够出众了。

人物服饰的暖色与天空海水蓝色形成冷暖对比,利用颜色的变化很好的突显画面层次以及区分空间前后关系。

6. 万能曲线调色工具

RGB通道曲线,它是由红(R)绿(G)蓝(B)三个通道的曲线叠加而成的,可以“近似的”理解成图片的亮度曲线。

RGB曲线调整的核心其实就是对原图亮度的变换。曲线的横轴是原图的亮度,曲线的纵轴是目标图(调整后)的亮度。横轴上还显示着一个直方图,显示出原图各个亮度上,分别存在着多少像素。

通过在曲线上添加控制点(锚点),我们就可以把曲线变成各种各样的形态,从而达到我们想要的影调效果。

红色曲线

红色通道曲线,提上加红,提下减红变青。因此拉出一个S形,可以调出来的照片高光偏红,阴影偏青(红色互补色)。

绿色曲线

绿色通道曲线,提上加绿,提下加紫。因此拉出一个S形,可以调出来的照片高光偏绿,阴影偏紫。

蓝色曲线

蓝色通道曲线,提上加蓝,提下加黄。因此拉出一个S形,可以调出来的照片高光偏蓝,阴影偏黄(冷暖)。

7. 选择性局部调整工具

选择性局部调整工具,有三种形态:①手动涂抹、②圆形、③径向选择。

 手动涂抹

手动涂抹:可以精准选择,特别是有不规则形态下,避免对不必要处理的画面干扰。

 圆形选择

圆形:利用于局部范围的调整,也可以反选操作进行对画面的调整。

 径向选择

径向调整:适用于大范围区域

基础不牢地动山摇,对于后期调色也一样,只有我们掌握和熟悉每个后期APP的功能以及特点后,结合专业知识,才能更好和快速修出好照片,也就不会再像之前那样无从下手啦!

最后看看本次修图的完整过程

这是我目前多设备同步的最优解

220523

电子信息时代,很多人不止一个电子设备。并且不同设备还在不同场所,因此设备间数据共享与同步就显得尤为重要。

我在这方面的探索也一直没有停止。

最开始,也是大家最容易接触到的,是网盘,如百度云盘。

接着移动互联网之后,各家手机厂商都有自己的云服务,支持本地文件备份到自己账户存储空间中。

其次就是使用有云同步的网络服务。比如很多的笔记软件,如印象笔记,有道云笔记。

上面提到的这些服务适合大多数人使用,因为大多数人数据的更新速度没那么快,需要同步的数据量不太大,用这些服务无疑是省心高效的方式。

然而对于一部分人来说,包括我,以上服务的数据安全性,同步速度还有容量是达不到自己的需要的。
所以在不断探索数据同步方式。
上面提到的网盘同步,账户同步和笔记同步就不再介绍了,我要说的是大家可能接触比较少的方式。

以前还探索了用VPS搭建同步服务器,这种方式不用担心我上面提到的问题,但是这种初期成本和后期维护成本都比较高,也有一定的技术门槛,这里不再详述。
后来接触了git工具,结合github,阿里的codeup等平台可以很好的同步数据。速度和容量基本不会限制到日常的使用,体验很好。并且有版本控制功能。但是,这个也需要一些代码能力,对于非程序员有点门槛。
这种方式我渐渐的用得少了。很大一个原因是他的版本控制功能。它的备份是整个文件备份,因此会生成很多备份文件,很占用空间。功能好且多,但是我没能掌握深层的用法,再加上我对版本控制要求很低,一般是文件名的迭代更新备份,用不了那么复杂。因为我写的代码基本是工具性的,没有太复杂的就够或者项目。所以接着找更好的同步方法。

终于找到了我现在用的这种方式。那就是syncthing。速度快,本地存储,容量限制就是你设备本身的容量上限。

这个工具几年前用过。当时不太会用。设置的同步文件夹太多,很繁杂,并且自己的数据更新不频繁其实也用不上,因此就没用了。

现在我只建三个同步文件夹,一个用于公司电脑,个人电脑和手机的一些数据共享,一个是公司电脑和个人电脑的数据共享,一个用于笔记文件夹的同步。

我的设备情况:手机和公司电脑可连外网,长时间在线,个人电脑有时在线。

下面的部分先不写了,网上的资料很多。

syncthing介绍
安装与使用
syncTrayzor介绍

traefik配置多路由

我目前正在尝试让 traefik 在单个容器上使用多个路由器和服务,但它不起作用,我不知道这是否是有意为之。

为什么?

具体来说,我正在使用 gitlab 综合容器,并希望在综合容器内使用/访问多个服务,因为 gitlab 不仅提供“gitlab 网站”。

我尝试了什么?

我只是尝试通过标签将另一个路由器添加到我的 docker compose 文件中

这就是我所拥有的:

labels:
- "traefik.http.routers.gitlab.rule=Host(`gitlab.example.com`)"
- "traefik.http.services.gitlab.loadbalancer.server.port=80"

这就是我要的:

labels:
- "traefik.http.routers.gitlab.rule=Host(`gitlab.example.com`)"
- "traefik.http.services.gitlab.loadbalancer.server.port=80"
- "traefik.http.routers.registry.rule=Host(`registry.gitlab.example.com`)"
- "traefik.http.services.registry.loadbalancer.server.port=5000"

这是行不通的,因为 traefik 可能对路由到哪个服务的内容感到困惑,而且我找不到一种机制可以告诉 traefik 在这种情况下确切地告诉 traefik 哪个路由器转到哪个服务。

我找到了我的问题的解决方案。

确实有一点我错过了:

  • traefik.http.routers.myRouter.service=myService

使用此标签,我可以将路由器指向特定服务,并且应该能够向一个容器添加多个服务:

labels:
- "traefik.http.routers.gitlab.rule=Host(`gitlab.example.com`)"
- "traefik.http.routers.gitlab.service=gitlab"
- "traefik.http.services.gitlab.loadbalancer.server.port=80"
- "traefik.http.routers.registry.rule=Host(`registry.gitlab.example.com`)"
- "traefik.http.routers.registry.service=registry"
- "traefik.http.services.registry.loadbalancer.server.port=5000"

这里每个路由器都显式地指向一个特定的服务,该服务通常是隐式发生的。

如果需要绑定容器的多个端口,则必须使用文档中此处所述的traefik .. *标签。例如,可以在docker-compose.yml中使用类似这样的内容


labels:
- traefik.ember.port=8080
- traefik.ember.frontend.rule=Host:mydomain.com
- traefik.reload.port=37531
- traefik.reload.frontend.rule=Host:mydomain.com;PathPrefixStrip:/reload
```<!--autointro-->

docker-compose部署seafile

docker-compose.yml文件如下

version: '2.0'
services:
  db:
    image: mariadb:10.5
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=rootpw  # Requested, set the root's password of MySQL service.
      - MYSQL_LOG_CONSOLE=true
    volumes:
      - /home/admin/volumes_seafile/mysql:/var/lib/mysql  # Requested, specifies the path to MySQL data persistent store.
    networks:
      - seafile-net
  memcached:
    image: memcached:1.6
    container_name: seafile-memcached
    entrypoint: memcached -m 256
    networks:
      - seafile-net
  seafile:
    image: seafileltd/seafile-mc:latest
    container_name: seafile
    ports:
      - "7000:80"
      - "7443:443"  # If https is enabled, cancel the comment.
      #- "80:80"
      #- "443:443"  # If https is enabled, cancel the comment.      
    volumes:
      - /home/admin/volumes_seafile/seafile:/shared   # Requested, specifies the path to Seafile data persistent store.
      - /home/admin/volumes_seafile/seafile/nginx/conf:/etc/nginx/conf.d
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=password  # Requested, the value shuold be root's password of MySQL service.
      - TIME_ZONE=Asia/Shanghai # Optional, default is UTC. Should be uncomment and set to your local time zone.
      - SEAFILE_ADMIN_EMAIL=xxxx@outlook.com # Specifies Seafile admin user, default is 'me@example.com'.
      - SEAFILE_ADMIN_PASSWORD=seafilepassword     # Specifies Seafile admin password, default is 'asecret'.
      - SEAFILE_SERVER_LETSENCRYPT=true   # Whether use letsencrypt to generate cert.
      - SEAFILE_SERVER_HOSTNAME=seafile.xxx.com # Specifies your host name.
    depends_on:
      - db
      - memcached
    networks:
      - seafile-net
networks:
  seafile-net:

切换到yml所在目录

cd /home/admin/compose_seafile

运行如下命令,build

docker-compose build

运行如下命令,启动

docker-compose up -d

nginx总是报找不到证书文件的错误可以这么解决
使用docker容器系统中的绝对路径,并将con.d文件夹映射到主机系统中就可以了。
220919
seafile一番折腾终于成功了
总结点经验就是,如果docker-compose buid出现错误报找不到文件错误,不是python的问题,检查docker是否安装,检查docker是否启动,这次就时因为重启服务器之后docker没有启动还以为时python的问题,花费了很长事件找原因。
修改docker-compose.yml文件之后要先停止已经启动的docker-compose,然后再build才能生效。

查看seafile数据库日志

docker-compose logs -f

查看seafile日志

docker logs -f seafile

进入seafile容器

docker container exec -it seafile bash

nextcloud缺少插件和权限不足问题解决

221021
vscode的ssh插件连接主机后会占用很大内存,使内存占用从0.69G升到1.28G。

nextcloud问题


-   This instance is missing some recommended PHP modules. For improved performance and better compatibility it is highly recommended to install them.
`-   intl`
-   The PHP module "imagick" is not enabled although the theming app is. For favicon generation to work correctly, you need to install and enable this module.

上述两个问题安装intl和imagick并启用即可。
在php的dockerfile中安装

“`

libmagickwand-dev \

    && docker-php-ext-configure intl \

    && docker-php-ext-install intl
   
&& pecl install imagick-beta \

    && echo “extension=imagick.so” <!–autointro–>

关于PHP执行用户和docker路径挂载的问题

关于PHP执行用户的问题

对于通过SFTP上传文件搭建的网站,有时会遇到权限问题。要么权限没给够,提示没有权限。一般遇到这种直接给全部权限,也就是‘777’权限可以解决。但对于安全设置严格的web程序这么操作会提示文件夹或文件可以被其他用户读取不安全,这就需要改文件夹或文件的所属用户了。
然而并不知道,用户是谁。下面是我在解决该问题时学习的一些方法。不过到目前位置还是没有理解透彻。
我在搭建nextcloud的时候就遇到了上面提到的问题,参考官方镜像搭建成功的web程序,发现很多文件夹所属用户是‘33’,但是主机系统中并没有这个用户。

php配置文件中的用户组如下,如果不存在,会使用默认用户执行。

user = www-data
group = www-data
www-data

获取nginx和php用户和组

[root@iZ8vbajg9wo8iwynfb1lgeZ data]# ps axu|grep nginx
root     1322844  0.0  0.3  37772  6232 ?        Ss   15:12   0:00 nginx: master process nginx -g daemon off;
101      1322890  0.0  0.3  38364  6740 ?        S    15:12   0:00 nginx: worker process
root     1331548  0.0  0.0  12108  1052 pts/0    S+   15:36   0:00 grep --color=auto nginx
[root@iZ8vbajg9wo8iwynfb1lgeZ data]# ps axu|grep php
root     1322682  0.0  1.4 216796 26416 ?        Ss   15:12   0:00 php-fpm: master process (/usr/local/etc/php-fpm.conf)
admin    1323298  0.1  2.3 223656 44364 ?        S    15:13   0:01 php-fpm: pool www
admin    1323731  0.1  2.3 223592 43104 ?        S    15:14   0:01 php-fpm: pool www
admin    1324200  0.1  2.2 223484 42808 ?        S    15:15   0:01 php-fpm: pool www
root     1331742  0.0  0.0  12108  1076 pts/0    S+   15:36   0:00 grep --color=auto php

**

docker路径挂载问题

build成功之后的部分日志


117668470    0 drwxr-xr-x 2 root root      24 Sep 21 14:37 /tmp/pear/temp/pear-build-defaultuser6thOCT/install-mongodb-1.11.1/usr/local/lib/php/extensions/no-debug-non-zts-20210902
117668471 8396 -rwxr-xr-x 1 root root 8595192 Sep 21 14:37 /tmp/pear/temp/pear-build-defaultuser6thOCT/install-mongodb-1.11.1/usr/local/lib/php/extensions/no-debug-non-zts-20210902/mongodb.so
Build process completed successfully
Installing '/usr/local/lib/php/extensions/no-debug-non-zts-20210902/mongodb.so'
install ok: channel://pecl.php.net/mongodb-1.11.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongodb.so" to php.ini
Removing intermediate container 237ce43c5051
---<!--autointro-->

dockercompose+traefik安装wordpress

yml文件`wordpress-docker-compose.yml

version: "3.7"
services:
  wordpress:
    image: wordpress
    restart: always
    # ports:
    #   - 8080:80
    environment:
      WORDPRESS_DB_HOST: mariadb #这里的数据库用的时lnmp中的,在同一个网络
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: SQLroot77
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress:/var/www/html
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.wordpress.entrypoints=websecure"
      - "traefik.http.routers.wordpress.rule=Host(`wp.weiyoun.com`)"
      - "traefik.http.routers.wordpress.tls.certresolver=lets-encr"
volumes:
  wordpress:
networks:
  default:
    external:
      name: traefik

运行

docker-compose -f wordpress-docker-compose.yml up
用域名访问,提示数据库连接错误
这是因为数据库中没有创建wordpress数据库
进入数据库容器docker exec -it dc1_mariadb_1 bash 进入数据库mysql -u root -p
创建并查询数据库


MariaDB [(none)]<!--autointro-->

docker搭建nps

yml文件nps-docker-compose.yml

version: "3.7"
services:
  frps:
    image: ffdfgdfg/nps
    container_name: nps
    hostname: frps
    restart: unless-stopped
    ports:
      - "7443:8080"
    #   # - 7400:7400
    #   - 7000:7000
    #   - 8888:8888
    volumes:
      - nps:/conf
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.nps.entrypoints=websecure"
      - "traefik.http.routers.nps.rule=Host(`nps.weiyoun.com`)"
      - "traefik.http.routers.nps.tls.certresolver=lets-encr"
      - traefik.http.routers.nps.service=nps #多路由必须定义不同的服务名
      - "traefik.http.services.nps.loadbalancer.server.port=8080"
      - "traefik.docker.network=proxy"
      # - "traefik.http.routers.frpshttp.entrypoints=websecure"
      # - "traefik.http.routers.frpshttp.rule=Host(`frpshttp.weiyoun.com`)"
      # - "traefik.http.routers.frpshttp.tls.certresolver=lets-encr"
      # - traefik.http.routers.frpshttp.service=frpshttp #多路由必须定义不同的服务名
      # - "traefik.http.services.frpshttp.loadbalancer.server.port=8888"
      # - "traefik.http.routers.a.entrypoints=websecure"
      # - "traefik.http.routers.a.rule=Host(`a.weiyoun.com`)"
      # - "traefik.http.routers.a.tls.certresolver=lets-encr"
      # - traefik.http.routers.a.service=a #多路由必须定义不同的服务名
      # - "traefik.http.services.a.loadbalancer.server.port=8888"
      # # - "traefik.docker.network=proxy"
networks:
  default:
    external:
      name: traefik
volumes:
  nps:

下载配置文件放入映射的文件夹下:

-   下载[conf文件夹](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/ehang-io/nps/tree/master/conf)并解压,或前往[项目主页](https://github.com/ehang-io/nps)自行下载**(升级请忽略)**
-   继续阅读[文档](https://ehang-io.github.io/nps/#/example)按照不同的启动方式启动**(升级请忽略)**

就可以用域名访问了。