
计算机视觉
计算机视觉
喝粥也会胖的唐僧
这个作者很懒,什么都没留下…
展开
-
insightface实战:画出嘴巴和眼睛的mask
【代码】insightface实战:画出嘴巴和眼睛的mask。原创 2023-09-29 10:03:56 · 695 阅读 · 1 评论 -
pytorch的pixel_shuffle转tflite文件
因为,有人发现在单通道的时候是depth_to_space和pixel_shuffle结果是一样的,所以拆分出来计算好在合并就行,这样速度基本上没有增加多少,亲测速度也是很快的,比从头开始实现pixel_shuffle是快非常多的。如果使用这样的从头开始实现,转出来的tflite是没法运行在手机上面的,因为tf.transpose的维度太多了,tflite在手机上不支持6个维度的transpose的,因为超过5个维度就会产生flex层,flex层是不被支持的。新建pytorch模型。原创 2023-09-28 17:34:03 · 1649 阅读 · 1 评论 -
人像美白的python实现
首先得将人像进行皮肤分割,具体最好是使用AI模型,这里就不展开了,本人侧重点是美白算法,所以这里直接使用了一张皮肤分割好的mask图。人像美白在现在的美颜功能里面几乎属于必备的,各家的方案都不太一致,本文主要介绍一种基于肤色分割的人像美白方案。mask图的效果如下图所示,白色区域为皮肤区域,黑色区域为非皮肤区域。我们可以看到,上图的美白效果还是很自然,而且逻辑也非常简单。原创 2023-06-28 19:32:17 · 1857 阅读 · 0 评论 -
Python图像高光调整
【代码】Python图像高光调整。原创 2023-06-26 19:22:00 · 1879 阅读 · 0 评论 -
python实现gimp里面的曝光算法
在gimp里面有曝光的功能。原创 2023-06-25 20:20:38 · 801 阅读 · 0 评论 -
python实现磨皮效果
写的非常棒,我使用python简单的实现了一下,看起来还不错。如果想使用,可以稍微调整一些参数就能达到一个不错的效果了。运行的速度也很快,在pc上面,能到0.15s。原创 2023-06-25 20:09:52 · 777 阅读 · 0 评论 -
使用python来解析lut 3d
不管是作为影视后期还是航拍和各种单反,是离不开lut的,使用lut来进行调色,就是将原图的rgb的数值映射成自己想要的rgb值,这样就能起到调色的作用。于是在网上找了几个图来计算,这里采样的是16,因此就是16*16*16的尺寸,虽然会比较粗糙一些。讲lut 3d比较清楚,基本上就能知道是怎么回事。原创 2023-06-24 20:34:27 · 1333 阅读 · 0 评论 -
使用python实现一个快速高斯模糊算法
基本上和opencv的结果一致,但是速度快了很多,而且可以自定义sigma,这样就可以根据实际情况选择合适的sigma值了。原创 2023-06-21 16:26:37 · 1244 阅读 · 0 评论 -
python实现柔光效果
在很多图像处理的软件有柔光的效果,,这里就很好奇是怎么实现的,于是就看了一些gimp的源码,然后使用python进行复现了一下,这里会稍微有点差距,因为为了省事就直接使用的cv2的高斯模糊,没有想gimp里面直接分x和y方向单独实现高斯模糊,不过效果基本上还是在的,(3)将原图和(2)的结果进行合并。(2)对(1)的图进行高斯模糊。(1)计算锐化和亮度。原创 2023-06-18 11:51:16 · 506 阅读 · 0 评论 -
双线性插值算法原理及其python实现
下面我使用python简单的实现一下resize,这里所说的resize都是放大的resize,因为缩小尺寸根本用不到插值,只需要在原图进行采样即可,所以我这里说的resize是针对放大尺寸来说的。不过需要注意的是,python这样运行分辨率较大时会很慢,可以考虑使用numpy的矩阵运算的方式进行运行或者修改成一些加速库,这里只是展示一些原理学习,并不能直接使用在工程项目里面。具体来说,就是使用先计算出Px1和Px2的数值,然后再计算出来Py1和Py2,最终计算出来P的数值。原创 2023-06-17 17:01:07 · 2789 阅读 · 1 评论 -
opencv祛除高光
原博客是c++,我这边只是使用python进行翻译了一下。原创 2023-06-15 20:09:21 · 2456 阅读 · 3 评论 -
祛除红眼算法python实现
使用python进行了重新复现,这个算法的效果很不错,比起遍地都是的方法(version1)会好一些,version1方法会明显祛除不干净的。我再放大一些可能会更加明显。原创 2023-06-16 18:59:13 · 685 阅读 · 0 评论 -
使用paddlegan进行视频超分
虽然RealSR不是效果最好速度快的算法,但是使用起来很方便,代码如下,需要提前安装paddlegan就行from ppgan.apps import RealSRPredictorsr = RealSRPredictor()res_path='1.mp4'_,out_path=sr.run(res_path)print(out_path)当这个方式也可以输入一张图片进行图片的超分。...原创 2021-06-25 10:55:49 · 1172 阅读 · 1 评论 -
内存递增之moviepy.video.io.ImageSequenceClip.ImageSequenceClip
moviepy.video.io.ImageSequenceClip.ImageSequenceClip原创 2021-06-20 15:16:35 · 1156 阅读 · 0 评论 -
Transforming the Latent Space of StyleGAN for RealFace Editing
近日,快手发表一篇名为《Transforming the Latent Space of StyleGAN for RealFace Editing》的论文在stylegan的基础进行改进,引入transformer,提出一个W++的空间先观看一下网络结构:文章最大的贡献是引入了transformer,效果总的来说比W和W++空间好,可以看一下效果文章解释了为啥引入transformerAn ideal solution to this problem should ther原创 2021-06-06 09:27:34 · 618 阅读 · 3 评论 -
使用OpenCV进行图片风格化
OpenCV现在可以直接读取训练好的风格化的深度学习模型,模型下载地址如下:https://github.com/jcjohnson/fast-neural-style/blob/master/models/download_style_transfer_models.sh话不多说,直接先上代码:这里我是使用的其中一个模型import cv2 as cvimport numpy as npnet = cv.dnn.readNetFromTorch('feathers.t7')pr原创 2021-05-20 15:19:00 · 1548 阅读 · 0 评论 -
使用c++版dlib做人脸对齐
dlib提供好了一个做人脸对齐的方法get_face_chip_details人脸对齐的原理也很简单,主要是先通过人脸关键点检测,然后对其进行仿射变换,得到标准人脸。使用例子如下:#include"dlib/image_processing/frontal_face_detector.h"#include"dlib/image_processing/render_face_detections.h"#include "dlib/image_processing.h"#include"dl原创 2021-05-15 13:51:37 · 1213 阅读 · 1 评论 -
安装dlib
直接使用pip install dlib会出错,因为确实c编译库下面提供三个方式安装:win:pip install cmakepip install dlibubuntu:apt-get install libboost-all-devapt-get install cmakepip install dlib也可以源码进行编译:安装参考链接:https://learnopencv.com/install-dlib-on-ubuntu/...原创 2021-04-21 10:55:45 · 447 阅读 · 0 评论 -
cv2实现浮雕的效果
先直接上一个效果图:实现思路:(1)获取灰色图像(2)将灰色图像得到反色图像(3)对反色图像进行高斯滤波(4)对灰色和高斯滤波后的图像进行叠加就能得到上面的效果具体代码如下:import cv2import numpy as npimg1=cv2.imread('123.jpg')h,w,c=img1.shapegray1=cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY)img2=np.zeros((h,w),dtype='uint8.原创 2021-04-05 21:23:44 · 468 阅读 · 0 评论 -
cv2进行反色操作
反色操作(invert_image)是将原始的像素值(origin_image)进行处理,是通过255减去原始像素:invert_image=255-origin_image因此可以使用cv2里面的cv2.addWeighted进行加权处理,具体代码如下:import cv2import numpy as npimg1=cv2.imread('123.jpg')h,w,c=img1.shapeimg2=np.zeros((h,w,c),dtype='uint8')invert_im原创 2021-04-05 09:04:19 · 3102 阅读 · 2 评论 -
使用cv2进行图像融合
加入我们有两张图,分别是这样:我们想要将第二个放置在第一个图上,直接贴图就是这样的:这样贴着,没啥意义,我们使用seamlessClone处理一下就会变得很好:看着自然很多了吧,上述的代码如下:import cv2import numpy as npb3=cv2.imread('b3.jpg')b2=cv2.imread('b2.jpg')#b1=cv2.resize(b1,(256,256))center_x=300center_y=500#no..原创 2021-04-02 18:50:01 · 2214 阅读 · 2 评论 -
CIFAR-10 图片数据集制作
CIFAR-10数据集是不图片格式,需要自己制作首先使用这篇https://blog.youkuaiyun.com/ctwy291314/article/details/83864405制作image然后自己制作labelimport osfrom shutil import copyfile,movels=['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']for原创 2021-01-27 18:06:52 · 958 阅读 · 0 评论 -
FashionMNIST数据集保存为图片
这个保存就很简单,因为使用过pytorch里面加载FashionMNIST数据集,就会生成这样一个文件里面有两个文件于是加载就非常简单了import torchimport cv2import numpy as nptrain_data=torch.load("training.pt")[0].numpy()test_data=torch.load("test.pt")[0].numpy()print(train_data.shape)print(test_data.sh原创 2021-01-07 16:19:21 · 1920 阅读 · 2 评论 -
mtcnn 人脸对齐
很多自拍脸并不是正的,特别是很多妹子自拍歪着头的,但是很多任务需要的图需要不是歪着头这个时候就需要转换git clone https://github.com/urbaneman/Face_crop_align_mtcnnmkdir t1 mkdir t2python Face_align_crop.py --input_path t1 --output_path ./t2 --face_size 512看下效果:...原创 2020-12-03 16:49:11 · 843 阅读 · 0 评论 -
使用keras做图像分割
先 看一下效果 ,虽然 算不上很好直接上代码:import tensorflow as tfimport matplotlib.pyplot as pltimport osimport timeimport numpy as npimport ioimport PILfrom IPython.display import clear_outputimport cv2import syssys.path.append("/opt/LIP/examples")from t.原创 2020-09-25 18:31:26 · 1804 阅读 · 7 评论 -
trimaps(三值图)数据的读取
下载了牛津的数据集(The Oxford-IIIT Pet Dataset)进行使用,无奈却是trimaps这个又没法直接用tf读取也试了PIL:最好还是在https://stackoverflow.com/questions/41777654/opencv-using-a-trimap-image找到答案代码如下:import ioimport osimport tensorflow as tfimport PILimport matplotlib.pyplot a.原创 2020-09-23 17:11:58 · 1275 阅读 · 0 评论 -
利用imageio将视频转成gif
话不多说直接上代码:import imageioreader = imageio.get_reader('1234.mp4')fps=reader.get_meta_data()['fps']imageio.mimsave("test.gif", reader, fps=fps)四行代码简单搞定我们可以看到一下reader.get_meta_data()的结果:{'codec': 'h264', 'duration': 28.74, 'ffmpeg_version': '4.1原创 2020-09-08 11:56:29 · 1182 阅读 · 0 评论 -
计算机视觉实战之歪头变正脸
在有的时候,我们需要正面的脸。但是经常拍到的图是有点侧面的,比如这样的:头稍微有点歪,看一下预期效果:右边的脸是不是有点扳正的感觉了。代码如下:import cv2import matplotlib.pyplot as pltimport dlibimport numpy as npimport time#读取图片res="C:\\Users\Admi...原创 2020-03-06 18:00:25 · 1438 阅读 · 1 评论