opencv与python
深山里的小白羊
这个作者很懒,什么都没留下…
展开
-
OpenCV与Python之图像基础操作
1. 导入opencv包import cv22. 读取图像命令:img =cv2.imread('图片路径', 读取方式)读取方式:cv2.IMREAD_UNCHANGED(不改变图像形式),cv2.IMREAD_GRAYSCALE(以灰度形式读取图像),cv2.IMREAD_COLOR(以彩色形式读取图像)img = cv2.imread('images/cat_col...原创 2019-03-30 13:17:06 · 2576 阅读 · 0 评论 -
OpenCV与Python之图像阈值化
先上一张图:这张图中,第一幅图表示原始图像,后面的五张表示五张不同的阈值方式:第一种阈值:叫二进制阈值化,即将大于阈值的像素值变为255,小于阈值的像素值变为0第二种阈值:叫反二进制阈值化,即将大于阈值的像素值变为0,小于阈值的像素值变为255第三种阈值:叫截断阈值化,即将大于阈值的像素值变为阈值,小于阈值的像素值保持不变第四种阈值:叫反阈值化为0,即将大于阈值的像素值变...原创 2019-03-30 13:52:08 · 869 阅读 · 0 评论 -
OpenCV与Python之图像滤波
介绍四篇图像平滑方式:均值滤波方框滤波高斯滤波中值滤波1. 均值滤波原理:将对应核中的元素求和取平均命令:img2 = cv2.blur(原始图像,核大小) #核大小是一个元组img2 = cv2.blur(img, (7, 7))2. 方框滤波原理:对核中像素值求和(求和很容易导致像素值超过255,所以容易出现白化图像),或者求和取平均...原创 2019-03-30 14:22:36 · 719 阅读 · 0 评论 -
OpenCV与Python之图像形态学操作
目录1. 图像腐蚀2. 图像膨胀3. 图像开运算4. 图像闭运算5. 图像梯度运算6. 图像礼帽(顶帽)操作7. 图像黑帽操作原始图像下载1. 图像腐蚀原理:用一个全1的核去遍历整个图像,核中全是0或全是1的保持不变,核中只要出现一个1(白色)就将核的中心像素变为0。所以这样的操作会将图像(一般是二值化图像)白色局域变瘦小,黑色局域变多命令:dst = ...原创 2019-03-30 15:53:16 · 1357 阅读 · 0 评论 -
OpenCV与Python之图像边缘检测
目录1. Sobel算子2. Scharr算子3. Laplacian算子4. Canny算子1. Sobel算子对于Sobel原理,此处不进行介绍,百度一搜很仔细,但我们需要知道Sobel的是一阶微分算子,也就是图像的一阶导数,根据导数的定义,变化越明显的地方,梯度也大,自然也就对应了图像的边缘。Sobel的核分为了x方向和y方向两个:Gx = [[-1,0,1...原创 2019-04-06 15:26:23 · 3262 阅读 · 0 评论 -
OpenCV与Python之图像金字塔
目录1. 高斯图像金字塔1.1. 图像向下取样1.2. 图像向上采样2. 拉普拉斯图像金字塔2.1. 图像向下采样2.2. 图像向上采样1. 高斯图像金字塔1.1. 图像向下取样原理:先对图像做高斯平滑,然后删除图像的偶数行和偶数列,即将图像在x和y方向均减少一半,最后的图像为原来图像的四分之一命令:dst = cv2.pyrDown(img)down...原创 2019-04-06 15:58:42 · 656 阅读 · 0 评论 -
python opencv 找出图像中的最大轮廓并填充(生成mask)
mask = np.ones_like(img_stack)for i in range(num): # 阈值化 _, binaryzation = cv2.threshold(img_stack[i], 5, 255, cv2.THRESH_BINARY_INV) # 找到所有的轮廓 contours, _ = cv2.findContours(binaryz...原创 2019-07-16 19:52:13 · 27297 阅读 · 24 评论