Giter Site home page Giter Site logo

codecwang / opencv-python-tutorial Goto Github PK

View Code? Open in Web Editor NEW
2.9K 100.0 956.0 10.07 MB

📖 OpenCV-Python image processing tutorial for beginners

Home Page: https://codec.wang/docs/opencv

Dockerfile 1.76% JavaScript 37.00% TypeScript 39.09% CSS 22.14%
opencv opencv-python image-processing

opencv-python-tutorial's Introduction

面向初学者的 OpenCV-Python 教程

访问

  1. 可直接访问博客专栏:http://codec.wang/#/opencv/

  2. 使用 Docker 访问:

docker run -d -p 8080:80 codecwang/opencv-python-tutorial
  1. 源码构建:

本教程网站由Docusaurus 2构建,如感兴趣,可直接克隆代码自行构建:

# 克隆仓库
git clone [email protected]:CodecWang/opencv-python-tutorial.git

# 安装依赖
npm install
# 本地调试
npm start
# 构建
npm build

目录

入门篇

标题 简介
简介与安装 了解和安装 OpenCV-Python
番外篇:代码性能优化 度量运行时间/提升效率的几种方式
基本元素:图片 图片的载入/显示和保存
番外篇:无损保存和 Matplotlib 使用 高保真保存图片、Matplotlib 库的简单使用
打开摄像头 打开摄像头捕获图片/录制视频/播放本地视频
番外篇:滑动条 滑动条的使用
图像基本操作 访问像素点/ROI/通道分离合并/图片属性
颜色空间转换 颜色空间转换/追踪特定颜色物体
阈值分割 阈值分割/二值化
番外篇:Otsu 阈值法 双峰图片/Otsu 自动阈值法
图像几何变换 旋转/平移/缩放/翻转
番外篇:仿射变换与透视变换 基于 2×3 的仿射变换/基于 3×3 的透视变换
绘图功能 画线/画圆/画矩形/添加文字
番外篇:鼠标绘图 用鼠标实时绘图
挑战篇:画动态时钟 /
挑战篇:PyQt5 编写 GUI 界面 /

基础篇

标题 简介
图像混合 算数运算/混合/按位运算
番外篇:亮度与对比度 调整图片的亮度和对比度
平滑图像 卷积/滤波/模糊/降噪
番外篇:卷积基础 - 图片边框 了解卷积/滤波的基础知识/给图片添加边框
边缘检测 Canny/Sobel 算子
番外篇:图像梯度 了解图像梯度和边缘检测的相关概念
腐蚀与膨胀 形态学操作/腐蚀/膨胀/开运算/闭运算
轮廓 寻找/绘制轮廓
番外篇:轮廓层级 了解轮廓间的层级关系
轮廓特征 面积/周长/最小外接矩(圆)/形状匹配
番外篇:凸包及更多轮廓特征 计算凸包/了解更多轮廓特征
直方图 计算绘制直方图/均衡化
模板匹配 图中找小图
霍夫变换 提取直线/圆
挑战任务:车道检测 /

如果您觉得写的不错的话,欢迎打赏,我会努力写出更好的内容!✊🤟

opencv-python-tutorial's People

Contributors

codecwang avatar ex2tron avatar kele1997 avatar snowflowersnowflake avatar windowsair avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opencv-python-tutorial's Issues

about centroid

Sir, could you please tell me how to display the centroid on the image? Thank you!

05颜色空间转换 问题

作者您好:
我在学习第5节的时候,发现您促代码中给的HSV中蓝色的范围和我的结果对不上。不知道是不是我。
但我在修改成如下范围后,程序结果就正常了。
`
# 蓝色的范围
lower_blue = np.array([0, 43, 46])
upper_blue = np.array([10, 255, 255])
lower_blue2 = np.array([156, 43, 46])
upper_blue2 = np.array([180, 255, 255])

# 绿色的范围
lower_green = np.array([35, 43, 46])
upper_green = np.array([77, 255, 255])

# 红色的范围
lower_red =np.array([100, 43, 46])
upper_red =np.array([130, 255, 255])

img=cv2.imread('Simple.jpg')
img_hsv=cv2.cvtColor(img,cv2.COLOR_RGB2HSV)
mask_blue = cv2.inRange(img_hsv, lower_blue, upper_blue)
mask_blue2 = cv2.inRange(img_hsv, lower_blue2, upper_blue2)
mask_blue = mask_blue + mask_blue2
mask_green = cv2.inRange(img_hsv, lower_green, upper_green)
mask_red = cv2.inRange(img_hsv, lower_red, upper_red)

mask = mask_blue + mask_green + mask_red
`

关于霍夫变换提取圆

你好,我看了你网站上的讲解,受益匪浅,关于霍夫变换提取圆我遇到了一些问题。这是我自适应阈值分割后的图
1544167786 1
从这张图中看圆还挺清晰的,然后对这张图用霍夫变换提取圆后结果是这样
1544167829 1
想问下这是为什么?谢谢楼主

关于第13节的一些bug调正分享

首先谢谢作者,分享如此干货
貌似OpenCV 3.X 之后findContours()就返回两个参数了,所以如果出bug,可以尝试改成
contours, hierarchy = cv2.findContours(
thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

后面得改成for cnt in contours:
cv2.drawContours(img, [cnt], 0, (0, 0, 255), 2)
不然会出现,只识别了‘1’或者'3'单个数字轮廓的情况

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.