![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv
Ibelievesunshine
毕业于浙江师范大学数计学院,是一名图像处理工程师
展开
-
opencv 学习第一课 图像读取、显示、写入 代码注释版 保证你每一行都能读懂
import numpy as npimport cv2 as cvimg = cv.imread('cat.jpg',0) #读入图片cv.imshow('image1',img) #显示图片k=cv.waitKey(0) & 0xFF #等待键盘输入if k == 27: #如果是ESC键,退出,销毁...原创 2019-04-06 15:48:47 · 383 阅读 · 0 评论 -
python opencv 利用 GrabCut 算法(opencv已经实现)从图像中分离出前景
# 利用GrabCut算法从图像中分离出前景import numpy as np import cv2 as cv from matplotlib import pyplot as pltimg = cv.imread('meixi.jpg')mask = np.zeros(img.shape[:2],np.uint8)# 用于润色图像的masknewmask = cv.imr...原创 2019-07-21 16:41:08 · 1574 阅读 · 0 评论 -
python opencv 利用分水岭算法实现对物体的分割 图文详细注释版 以分割官网提供的硬币为例
分水岭算法可以实现自动分割多个物体,opencv中 cv.watershed() 函数实现了分水岭算法话不多说,上代码# 利用分水岭算法分离多个相同硬币import numpy as np import cv2 as cv from matplotlib import pyplot as plt# 为了正常显示中文添加以下代码from pylab import * mpl....原创 2019-07-19 11:41:30 · 1753 阅读 · 1 评论 -
opencv 寻找图中的corners 利用自带 Shi-Tomasi Corner Detector 实现
import numpy as np import cv2 as cv from matplotlib import pyplot as pltimg = cv.imread('duomianti.jpg')gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)corners = cv.goodFeaturesToTrack(gray,17,0.01,1...原创 2019-07-23 20:27:46 · 466 阅读 · 0 评论 -
opencv python 实现灰度图像和彩色图像直方图全局均衡化和自适应均衡化
首先进行简单的灰度图像的全局均衡化和自适应均衡化import cv2 as cvimport numpy as npimg = cv.imread('cun.jpg',0)# 全局直方图均衡化img1 = cv.equalizeHist(img)# 自适应直方图均衡化clahe = cv.createCLAHE(clipLimit=2.0,tileGridSize=(8,8...原创 2019-07-09 18:47:00 · 9637 阅读 · 1 评论 -
opencv中很有趣的仿射变换(Affine Transformation)
在仿射变换中,原图中所有平行的行在变换后的图像中仍然平行。为了构建仿射矩阵,我们需要原图中的三个点和它们在变换后的图像中的对应位置。函数 cv.getAffineTransform 创建一个2*3的矩阵传递进 cv.warpAffineimport numpy as np import cv2 as cv from matplotlib import pyplot as pltimg...原创 2019-05-28 15:46:27 · 1621 阅读 · 0 评论 -
官网opencv练习题 最简单的多物体分离技术
题目来源:https://docs.opencv.org/4.1.0/df/d9d/tutorial_py_colorspaces.html 最底部题目:Try to find a way to extract more than one colored objects, for eg, extract red, blue, green objects simultaneously....原创 2019-05-28 10:36:40 · 851 阅读 · 0 评论 -
详解opencv掩膜mask
文章转载自:https://www.cnblogs.com/skyfsm/p/6894685.html在OpenCV中我们经常会遇到一个名字:Mask(掩膜)。很多函数都使用到它,那么这个Mask到底什么呢?一开始我接触到Mask这个东西时,我还真是一头雾水啊,也对无法理解Mask到底有什么用。经过查阅大量资料后,也对Mask有一点自己的理解了,下面就说说我的理解。比如我要对一幅图进行...转载 2019-05-28 09:21:48 · 729 阅读 · 1 评论 -
opencv学习第6课官方练习实现 Create a Paint application with adjustable colors and brush radius using trackbars
练习题目来源(网址最下方):https://docs.opencv.org/4.1.0/d9/dc8/tutorial_py_trackbar.htmlimport numpy as np import cv2 as cv brush_color = [80,80,80]brush_size = 2drawing = False# mouse callback functio...原创 2019-04-17 15:21:15 · 347 阅读 · 0 评论 -
opencv 学习第5课 滑动条实现调色板
# Trackbar as the Color Paletteimport numpy as np import cv2 as cv # When trackbar changed,the bind function does nothingdef nothing(x): pass#Create a black image,a windowimg = np.zeros((300...原创 2019-04-17 11:50:50 · 334 阅读 · 0 评论 -
opencv 学习第4课 将鼠标作为笔刷使用
注意,要使用笔刷的话,需首先按下 m 键将默认模式转变import numpy as np import cv2 as cv drawing = False # true if mouse is pressedmode = True # if True,draw rectangle. Press 'm' to toggle to curveix,iy = -1,-1#mous...原创 2019-04-17 11:07:24 · 625 阅读 · 0 评论 -
opencv 学习第三课 画线段 圆 椭圆 矩形 多边形 插入文字 代码注释版 保证你每一行都能读懂
import numpy as npimport cv2 as cv# 创建一张大小为512×512,通道数为3的黑色的图片img = np.zeros((512,512,3), np.uint8)# 在图片上从(0,0)到(511,511)画一条颜色为(255,0,0),线宽为5的线段cv.line(img,(0,0),(511,511),(255,0,0),5)# 画一个矩形,左...原创 2019-04-12 21:19:29 · 441 阅读 · 0 评论 -
opencv 学习第二课 摄像头、外部视频读取、处理、显示、写入 代码注释版 保证你每一行都能读懂
1. 使用摄像头捕捉图像,将其转换为灰度帧后,输出视频图像import numpy as np import cv2 as cv cap = cv.VideoCapture(0)while(True): # 一帧一帧的捕捉 ret,frame = cap.read() # 将每一帧从RGB转换成灰度 gray = cv.cvtColor(frame,cv.COLOR_BG...原创 2019-04-06 17:22:24 · 337 阅读 · 0 评论 -
opencv cv.waitKey(60) & 0xff 含义和作用
查阅了许多资料,明白了 cv.waitKey(60) & 0xff 的含义和作用cv.waitKey(delay) :可以用 cv.waitKey(delay)函数延迟窗口显示时间。其中参数dealy表示要延迟的毫秒数。由于操作系统是多线程执行,所以严格来说dealy表示最少延迟多少毫秒。delay 默认值为 0,当 dealy <=0 时,表示永久延迟,直到键盘按下任意...原创 2019-08-18 16:21:12 · 1847 阅读 · 0 评论