第一次使用opencv,遇到了很多问题,记录一下

安装问题

代理

由于pip使用了代理而电脑代理没开,导致pip install opencv-python时一直报错连接不上代理

解决办法:

  1. 使用pip install -i <清华源>
  2. 开启代理

无法引入jar包

安装完成后在交互模式可以正常使用

输入python

import cv2

不报错就说明正常安装了

但是在jupyter notebook 中引入一直报错,找不到cv2模块

经过百度后,测试如下

交互模式下输入如下命令查看python环境

import sys
sys.executable

这是anaconda下的一个虚拟环境,没有问题

再在jupyter notebook下输入同样的命令,查看python环境,发现竟然不是上述环境

而是 anaconda3/share下的环境

至此,就查询到了问题的原因:

jupyter notebook 是anaconda的公共包

进入虚拟环境后 pip install jupyter 再次启动jupyter notebooke 就正常了


使用opencv及原理

这是个啥? -> http://c.biancheng.net/view/1089.html

使用opencv换照片底色的原理很简单

  1. 读取照片
  2. 将照片转换为灰度图
  3. 提取灰度图底色的BGR上下边界
  4. 使用opencv转换背景底色的BGR值(第三步已经获取了背景色的上下边界,边界之中的所有颜色都会被转换为255,边界之外的颜色都会被处理为0)
  5. 循环处理像素点,将第四步转换后的255(背景色)转换为你想要的颜色
  6. 输出,保存
import cv2
import numpy as np
# 读取照片
img=cv2.imread('zhuominghua.jpg')# 图像缩放
img = cv2.resize(img,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
print(rows,cols,channels)
cv2.imshow('[img]',img)# 图片转换为灰度图
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
# 查看灰度图
cv2.imshow('hsv',hsv)# 图片的二值化处理
lower_blue=np.array([100,0,200])
upper_blue=np.array([200,255,255])
mask = cv2.inRange(hsv, lower_blue, upper_blue)
print(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 erode[i,j]==255: # 像素点为255表示的是白色,我们就是要将白色处的像素点,替换为红色img[i,j]=(255,255,255) # 此处替换颜色,为BGR通道,不是RGB通道
# 显示处理后的图片
cv2.imshow('res',img)# 保存
cv2.imwrite("zhuominghu_white.jpg", img)
# 窗口等待的命令,0表示无限等待
cv2.waitKey(0)

代码是参照网上的例子,经过实验,很好用

但是在图片的二值化处理阶段,比较麻烦,需要从灰度图中获取背景色的BGR值,再计算上下边界

灰度图的颜色使用BGR表示的,而不是 RGB


使用的到方法:

  1. imread() 读取源图片
  2. imshow() 展示图片
  3. imwrite() 输出图片
  4. cvtColor() 转换灰度图
  5. inRange() 二值化处理,将上下边界内的颜色值处理为255,其他的颜色值处理为0

python使用opencv换照片底色相关推荐

  1. python RemoveBg api换照片底色

    测试了好几个代码,发现还是这个AI的最完美,最蛋疼的是 有各种限制. 偶尔用一次还是可以的 https://www.remove.bg/zh/ 注册账号,即可使用API from removebg i ...

  2. python换照片底色_Python 利用OpenCV给照片换底色的示例代码

    OpenCV的全称是:Open Source Computer Vision Library.OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和M ...

  3. 使用Python,OpenCV缩放照片(忽略宽高比,保持宽高比)

    使用Python,OpenCV缩放照片(忽略宽高比,保持宽高比) 1. 效果图 1.1 保持宽高比效果图 1.2 忽略宽高比效果图 1.3 opencv各插值效果图 2. 原理 3. 源码 参考 这篇 ...

  4. 使用Python,OpenCV对照片模拟长时间曝光效果

    使用Python,OpenCV对照片模拟长时间曝光效果) 1. 效果图 2. 原理 2.1 长时间曝光简介 2.2 结论 3. 源码 参考 这篇博客将介绍如何使用OpenCV和图像处理技术来模拟长时间 ...

  5. python换照片底色_详解Python给照片换底色(蓝底换红底)

    现在网上出现了很多在线换底色的网页版工具是这么做的呢?其实用Python就可以实现. 环境要求 Python3 numpy函数库 opencv库 安装 下载适应版本的numpy函数库,我电脑是WIN1 ...

  6. python换照片底色_Python学习给照片换底色(蓝底换红底)

    环境要求 Python3 numpy函数库 opencv库 安装 下载适应版本的numpy函数库,我电脑是WIN10 64位,安装的函数库是 numpy-1.13.1+mkl-cp36-cp36m-w ...

  7. 教你用OpenCV 和 Python给证件照换底色(蓝底 -红底-白底)

    在我们的生活中常常要用到各种底色要求的证件电子照,红底.蓝底.或者白底,而假如你手上只有一种底色的证件照,你又不想再去拍又不会PS怎么办?今天教你们用OpenCV和Python给你的证件照换底色. P ...

  8. 教你用OpenCV 和 Python给证件照换底色(蓝底 <->红底->白底)

    在我们的生活中常常要用到各种底色要求的证件电子照,红底.蓝底.或者白底,而假如你手上只有一种底色的证件照,你又不想再去拍又不会PS怎么办?今天教你们用OpenCV和Python给你的证件照换底色. P ...

  9. Python OpenCV 修改一寸照片底色,图像处理取经之旅第 20 天

    昨天写美女换装案例的时候,忽然间想到,相同的代码可以复用照片底色中,所以本文继续夯实一下对应的效果吧. 本案例使用的素材来源网络,如有侵权,联系橡皮擦删除 二值化参数调整 使用上篇博客,实现的一个小功 ...

最新文章

  1. 如何优雅地用TensorFlow预测时间序列:TFTS库详细教程
  2. 中文字符匹配java_java正则匹配HTML中a标签里的中文字符示例
  3. 问题 G: 区间权值
  4. ubuntu linux编译apt,Ubuntu Linux系统下apt-get命令详解
  5. 组态王和modbus协议
  6. 漫画:一文学会面试中常问的 IO 问题!
  7. 2019 国家网信办启动网络生态治理专项行动 剑指12类违法违规互联网信息
  8. [使用心得]maven2之m2eclipse使用手册之二m2eclipse功能介绍
  9. VPC下访问FTP的问题
  10. 最近开发的NFC读写器控制软件
  11. 微型计算机的应用形式,微型计算机基本原理与应用
  12. 约瑟夫问题(Josephus problem)详解
  13. c# 使用Entity Framework操作Access数据库
  14. 世界各国简称 英文名称 电话区号JSON数据包
  15. 【python】启动客户端报错:OSError: [WinError 740] 请求的操作需要提升。
  16. do.....while(0)让你虎躯一震的用法
  17. centos7 分辨率修改_centos系统修改屏幕分辨率问题
  18. DCOS搭建zookeeper集群搭建
  19. 在Windows下也可以玩Ghost
  20. gsensor direction调试

热门文章

  1. 汉语拼音方案里的O(哦)和 UO(窝)
  2. 计算机鼠标不显示桌面,电脑开机后不显示桌面只有鼠标箭头,怎么回事
  3. 信捷PLC中Y0用C语言怎么表示,信捷PLC
  4. spark dataframe 一列分隔多列,一列分隔多行(scala)
  5. TCP编程服务器与客户端对话
  6. 杰理之 高低速(HSB/LSB)时钟硬件模块【篇】
  7. 电脑录麦克风声音软件的选择
  8. AutoJs学习-2048全自动
  9. win10蓝屏提示重新启动_电脑蓝屏五大要素,秒判蓝屏问题及处理!
  10. background-clip和background-origin