Marco Nie - 2020年8月
https://blog.niekun.net/2020/08/
you are the company you keep...自由填充 Pattern in Photoshop
https://blog.niekun.net/archives/1720.html
2020-08-18T12:09:00+08:00对于单个 pattern 模型,如果想要在 layer 内以随机的角度或大小填充来实现更加自然的效果可以使用 script 脚本方便的实现。我们从如何定一个 pattern 开始,下面是一张 1 美元图片:使用 object selection tool 快速将主体选出来:选区边沿如果有多余的或者缺失的部分,通过 按住 shift 和 alt 键来增加/减去选区:点击添加图层蒙版,边沿如果需要调整,可以使用画笔工具来进一步修整蒙版。如果蒙版边沿有锯齿,可以双击蒙版打开属性框,调整 smooth 和 contract 来优化蒙版:使用选区工具框出一个矩形框包含我们的主体:选择 edit - define pattern:定义一个名称,点击 ok:新建图层,快捷键 shift backspace/shift delete 调出填充框:content 选择 pattern:custom pattern 里选中我们刚才新建的模型:script 前打勾,然后右侧菜单里选择 random fill:点击 ok 后进入调整菜单,首先将 下面的 color randomness 设为 0 避免图形的染色改变,brightness randomness 设置为 0.02 左右使亮度轻微可以随机改变,形成层次感:将 density 设置为最大 10,将 minimum/maximum scale factor 设置为 1,这样 pattern 会以 1:1 比例显示:将 rotate pattern 打勾,这样模型会随机旋转:设置完成后点击 ok,可以看到效果:还可以做一些优化来使层叠效果更加真实,过程就是降低 density 和 scale,添加图层阴影效果。新建图层,使用上面的方法填充 pattern,在设置中将 density 设置为 9,scale 设置为 0.25:确认后可以看到效果,单个图形变小,填充密度变小:我们给图层添加阴影效果,双击图层打开 layer style,下方点击添加阴影:再次新建图层,使用上面图层的填充设置填充 pattern,可以将空缺的部分进一步补充完整:按住 alt 键拖拽刚才的阴影特效到新图层,可以快速复制效果:可以看到还是有空白的区域没有填充完整,继续重复上面的步骤,建立多个图层,直到完全充满整个区域为止,最终效果如下:以上就是使用 script 来实现 pattern 自由填充的过程。argparse and struct in python
https://blog.niekun.net/archives/1718.html
2020-08-14T11:20:39+08:00https://docs.python.org/3/library/argparse.htmlhttps://docs.python.org/3/library/struct.html眼睛进阶处理 in Photoshop
https://blog.niekun.net/archives/1690.html
2020-08-14T11:16:27+08:00在人像照片中,一双炯炯有神的眼睛会让照片整体突出,下面我们来尝试通过提升亮度,增加细节等过程来实现。下图是我们的原图:放大眼睛细节:原图已经很好了,很清晰。下面我们进行调整。强化亮部细节需要提亮的部分是光源点的对面,再此图中就是眼睛光斑的下方,新建图层,画笔工具画圆:擦除多余部分,笔刷选择软笔刷,可以先降低不透明度来看到背景:高斯模糊使过度自然:混合模式改为 overlay 实现提亮:blend option 去掉影响阴影部分:如果想要加强效果可以再次复制图层,调整不透明度。增加高光点新建曲线图层,拉高曲线:ctrl I 反转图层蒙版,白色画笔工具软笔刷在瞳孔下方点击一下:可以看到效果太强了,调低不透明度到合适:增加明暗细节新建曲线图层,提高曲线,反转图层蒙版:白色画笔工具使用软笔刷沿着瞳孔在亮部区域画出射线,这一步注意如果有数位板来画的话会更好:降低不透明度到合适:下面增加暗部细节,再次新建曲线,然后降低曲线,反转蒙版:同样的方法画出射线:降低不透明度:眼白清理首先清理红血丝,新建图层,选择修复画笔工具混合模式设置为 screen,这样可以只处理暗部血丝:按 alt 键采样眼白,涂抹血丝区域:然后进行 dogding and burning 明暗调节,首先建立 soild color 观察图层,混合模式改为 color 来只显示亮度情况:新建图层,混合模式改为 soft light,选择笔刷工具软笔刷流量改为 1,快捷键 D 恢复颜色为黑/白,根据实际用白色笔刷涂抹暗部,黑色笔刷涂抹过亮部分:然后修复亮度调整后的颜色变化,新建图层,混合模式改为 color,快捷键 I 拾取眼白正常部分的颜色,然后在新图层上涂抹出需要修复的区域:复制效果将亮部细节处理/高光点/明暗细节处理部分建立分组然后复制一份,安住 ctrl 拖动分组到另一只眼睛部分,可以配合蒙版清理多余部分:可以使用同样的方法清理另一只眼睛的眼白部分最终效果如下:string <-> byte in python
https://blog.niekun.net/archives/1688.html
2020-08-12T14:08:00+08:00To transform a unicode string to a byte string in Python do this:>>> 'foo'.encode('utf_8')
b'foo'
To transform a byte string to a unicode string:>>> b'foo'.decode('utf_8')
'foo'
To convert a string to bytes.data = "" #string
data = "".encode() #bytes
data = b"" #bytesTo convert bytes to a String.data = b"" #bytes
data = b"".decode() #string
data = str(b"") #stringwinreg 操作 Windows 注册表 in python
https://blog.niekun.net/archives/1685.html
2020-08-12T13:56:00+08:00https://docs.python.org/3/library/winreg.html#https://stackoverflow.com/questions/15128225/python-script-to-read-and-write-a-path-to-registryimport winreg
REG_PATH = r"Control Panel\Mouse"
def set_reg(name, value):
try:
winreg.CreateKey(winreg.HKEY_CURRENT_USER, REG_PATH)
registry_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH, 0,
winreg.KEY_WRITE)
winreg.SetValueEx(registry_key, name, 0, winreg.REG_SZ, value)
winreg.CloseKey(registry_key)
return True
except WindowsError:
return False
def get_reg(name):
try:
registry_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH, 0,
winreg.KEY_READ)
value, regtype = winreg.QueryValueEx(registry_key, name)
winreg.CloseKey(registry_key)
return value
except WindowsError:
return None
#Example MouseSensitivity
#Read value
print (get_reg('MouseSensitivity'))
#Set Value 1/20 (will just write the value to reg, the changed mouse val requires a win re-log to apply*)
set_reg('MouseSensitivity', str(10))
#*For instant apply of SystemParameters like the mouse speed on-write, you can use win32gui/SPI
#http://docs.activestate.com/activepython/3.4/pywin32/win32gui__SystemParametersInfo_meth.html使用 opencv 处理图像
https://blog.niekun.net/archives/1684.html
2020-08-07T11:37:51+08:00安装:https://pypi.org/project/opencv-python/使用:https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_setup/py_table_of_contents_setup/py_table_of_contents_setup.html示例:https://www.askaswiss.com/2016/01/how-to-create-pencil-sketch-opencv-python.html打包 exe:https://pypi.org/project/auto-py-to-exe/