资讯专栏INFORMATION COLUMN

Python给照片换底色,基于opencv模块

saucxs / 1621人阅读

摘要:现在网上出现了很多在线换底色的网页版工具是这么做的呢其实用就可以实现。

现在网上出现了很多在线换底色的网页版工具是这么做的呢?其实用Python就可以实现。

环境要求
Python3 
numpy函数库
opencv库
安装

下载适应版本的numpy函数库,我电脑是WIN10 64位,安装的函数库是
numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl

下载适应版本的opencv库,我电脑是WIN10 64位,安装的库是
opencv_python-3.3.1-cp36-cp36m-win_amd64.whl

安装以上两个库,WIN+R->CMD->CD到当前两个库所在的文件夹,输入以下命令逐步安装

pip install numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl
pip install opencv_python-3.3.1-cp36-cp36m-win_amd64.whl

以上两个文件下载地址:https://download.csdn.net/dow...

代码

在当前文件夹新建opencv.py,拷贝以下代码

import cv2
import  numpy as np

img=cv2.imread("timg.jpg")
#缩放
rows,cols,channels = img.shape
img=cv2.resize(img,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
cv2.imshow("img",img)

#转换hsv
hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
lower_blue=np.array([90,70,70])
upper_blue=np.array([110,255,255])
mask = cv2.inRange(hsv, lower_blue, upper_blue)
cv2.imshow("Mask", mask)

#腐蚀膨胀
erode=cv2.erode(mask,None,iterations=1)
cv2.imshow("erode",erode)
dilate=cv2.dilate(erode,None,iterations=1)
cv2.imshow("dilate",dilate)

#遍历替换
for i in range(rows):
    for j in range(cols):
        if dilate[i,j]==255:
            img[i,j]=(0,0,255)#此处替换颜色,为BGR通道
cv2.imshow("res",img)

cv2.waitKey(0)
cv2.destroyAllWindows()
说明

第四行timg.jpg是原图片路径
lower_blue=np.array([90,70,70])里面三个数值可以控制好处理出来的效果和噪点

WIN+R->CMD->CD到opencv.py文件夹,运行

DEMO

动图演示

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43425.html

相关文章

  • 川普撞脸希拉里(基于 OpenCV 的面部特征交

    摘要:美国开国领袖们如果看到美国民众只能在希拉里和川普中选择,估计要集体气活过来。本教程由发布在实验楼,完整教程及在线练习地址川普撞脸希拉里基于的面部特征交换一教程介绍内容简介通过库来实现人脸面部特征交换。 话说这次美国大选可谓赚足了眼球,在美国史上,恐怕没有哪一年的总统大选会像今年一样诡谲和热闹。 美国开国领袖们如果看到美国民众只能在希拉里和川普中选择,估计要集体气活过来。作为一个闲得蛋疼...

    SunZhaopeng 评论0 收藏0
  • Python中使用OpenCV进行人脸检测

    摘要:总结在本文中,我们学习了如何使用中的,即通过代码写了一个人脸检测的程序。 OpenCV是如今最流行的计算机视觉库,而我们今天就是要学习如何安装使用OpenCV,以及如何去访问我们的摄像头。然后我们一起来看看写一个人脸检测程序是如何地简单,简单到只需要几行代码。 在开始之前,我假设你已经对Python有一定的了解。当然,如果你觉得你还不够格,这里有推荐一些学习Python的电子书,你可以...

    stefanieliang 评论0 收藏0
  • 机器视觉、模式识别库汇总

    摘要:十开放模式识别项目开放模式识别项目,致力于开发出一套包含图像处理计算机视觉自然语言处理模式识别机器学习和相关领域算法的函数库。 一、开源生物特征识别库 OpenBROpenBR 是一个用来从照片中识别人脸的工具。还支持推算性别与年龄。使用方法:$ br -algorithm FaceRecognition -compare me.jpg you.jpg二、计算机视觉库 OpenCVOpenC...

    habren 评论0 收藏0

发表评论

0条评论

saucxs

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<