随笔分类 - 数字图像处理
9.1 数字图像处理——OpenCV直线、圆、矩形、文字等绘制
摘要:效果 实现 import cv2 as cv import numpy as np import matplotlib.pyplot as plt img = cv.imread('pic/lion200x316.jpg') cv.line(img, (50, 25), (300, 175), (2
阅读全文
8.1 数字图像处理——Laplacian金字塔图像融合重建
摘要:本部分主要作为付费课程的讲解,不是太详细,文末有具体链接。 效果 步骤 实现 import numpy as np import cv2 as cv apple = cv.imread('pic/apple.jpg') orange = cv.imread('pic/orange.jpg') A =
阅读全文
7.3 数字图像处理——击中击不中变换及Python实现
摘要:简介 该方法用于精确匹配目标。 效果 每张图为正方形,这里画在一起了。原图为最左面部分,模板为匹配原图右下角那个正方形(这里没画出)。 从左到右依次为:原图、正向匹配、原图黑白颠倒、方向匹配、最终结果(有个白色像素点,即为原图右下角的正方形的中心) 实现 import cv2 as cv impor
阅读全文
7.2 数字图像处理——顶帽变换实现阈值化Python实现
摘要:可以用自适应阈值分割实现光照不均现象,也可以利用顶帽变换实现。两者选卷积核的时候都一般要比目标(通常是文字)大。 效果 从左往右依次为:原图、原图颜色反转黑白颠倒、开运算、顶帽变换、颜色反转回来 import cv2 as cv import numpy as np import matplotli
阅读全文
7.1 数字图像处理——腐蚀、膨胀、开闭运算及OpenCV实现
摘要:效果 从左向右依次为:原图、腐蚀、膨胀 从左向右依次为:原图、开运算、闭运算 OpenCV实现 import cv2 as cv import numpy as np import matplotlib.pyplot as plt img_bin = cv.imread(binary_img_pat
阅读全文
5.2 数字图像处理——Canny边缘检测Python实现
摘要:1. 直接调用 OpenCV函数 import cv2 as cv import numpy as np import matplotlib.pyplot as plt ## 重点 img = cv.imread('pic/notebook500x333.jpg', 0) img_edge = cv
阅读全文
5.1 数字图像处理——图像锐化和边缘
摘要:文末有相关文档和视频链接,打字太慢,就只写关键部分,望理解。 正文 0.1 Premitt、Roberts算子 # Premitt算子 kx = np.array([[-1, 0, 1], [-1, 0, 1], [-1, 0, 1]], dtype=np.float32) ky = np.arra
阅读全文
4.1 数字图像处理——模糊
摘要:正文 0.1 卷积 cv.filter2D(img, -1, kernel) 0.2 均值模糊 cv.blur(img, (5,5)) cv.boxFilter(img, -1, (5,5)) 0.3 中值滤波 cv.medianBlur(img, 3) 0.4 高斯模板 cv.GaussianBl
阅读全文
2.1 数字图像处理——图像基础
摘要:正文 0.1 图像基础 矩阵 分辨率 8位整型图像 浮点数图像 0.2 通道分离与合并 b, g, r = cv.split(img) img_new = cv.merge([b, g, r]) 0.3 彩色图转灰度图 img_gray = cv.cvtColor(img, cv.COLOR_BGR
阅读全文
1.2 数字图像处理——Numpy、OpenCV、Matplotlib函数汇总
摘要:说明:本教程为《数字图像处理Python OpenCV实战》的配套代码相关内容。 免费视频教程为0-6章(标题号≤6),可在此处点击观看。 所有课件及源代码可在此处下载: 链接:https://pan.baidu.com/s/198PySe_vebO3e06idHSQ6g 提取码:11o4 有问题可
阅读全文
12.2 数值图像处理——直方图均衡化
摘要:为了讨论方便起见,以 \(r\) 和 \(s\) 分别表示原图像灰度和经直方图均衡化后的图像灰度,先把图像灰度值放缩到 \(0\) 至 \(1\) 之间。直方图均衡化,本质上是找一个变换函数 \(T\) 来实现灰度变换,使得各个灰度值的点数除了 \(0\) 外,高度尽可能相等。这个变换记为 \[ s
阅读全文
7 数字图像处理——形态学操作
摘要:操作 公式 作用 腐蚀 \(I\ominus K\) 缩小$I$边界 膨胀 \(I\oplus K\) 扩大$I$边界 开运算 \(I\circ K=(I\ominus K)\oplus K\) 平滑轮廓,消除小毛刺 闭运算 \(I\bullet K=(I\oplus K)\ominus K\) 平
阅读全文
6.5 数字图像处理——自适应阈值分割及Python实现
摘要:算法步骤 全局二值化容易受阴影影响,所以可以局部二值化。自适应阈值分割的本质就是局部二值化。 具体操作步骤如下: (1) 对某个像素值,原来为 \(S\),取其周围的 \(n\times n\) 的区域,求区域均值或高斯加权值,记为 \(T\); (2) 对 \(8\) 位图像,如果 \(S > T
阅读全文
6.4 数字图像处理——大津法及Python实现
摘要:对于给定的阈值$T$,可以将图像分为目标和背景。其中背景点数占图像比例为 \(p_0\),平均灰度值为 \(m_0\)。而目标点数占图像比例为 \(p_1\),平均灰度值为 \(m_1\),其中满足 \[ p_0 + p_1 = 1 \] 整幅图像的平均灰度值为常数,跟阈值无关,且为 \[ \ove
阅读全文
6.3 数字图像处理——迭代法阈值分割及Python实现
摘要:本节介绍数字图像处理中的迭代法阈值分割,针对灰度图进行自动寻找阈值。收敛证明目前未找到相关资料。 1. 迭代法阈值分割步骤 (1) 选取初始分割阈值,通常可选图像灰度平均值 \(T\)。 (2) 根据阈值 \(T\) 将图像像素分割为背景和前景,分别求出两者的平均灰度 \(T_0\) 和 \(T_1
阅读全文
4.6 数字图像处理——双边滤波
摘要:理论 参考此处原文。 注意,里面的 \(\xi, x\) 都是二维向量。 只考虑空间距离: \[ h(x) = k_d^{-1} \int_{-\infty}^\infty \int_{-\infty}^\infty f(\xi)c(\xi - x) d\xi \] \[ k_d = \int_{-
阅读全文
1.1 Python 开发环境配置
摘要:说明:本教程为《数字图像处理Python OpenCV实战》的配套代码相关内容。 免费视频教程为0-6章(标题号≤6),可在此处点击观看。 所有课件及源代码可在此处下载: 链接:https://pan.baidu.com/s/198PySe_vebO3e06idHSQ6g 提取码:11o4 有问题可
阅读全文
14.2 Hough圆检测
摘要:Hough圆检测和Hough直线检测思想类似,都是把直角坐标系中的一条直线或一个圆转换成另一个坐标系中的一个点。 对于Hough圆,在直角坐标系中的一个圆 \(C\),圆心为 \(C(a,b)\),半径为 \(r\),则圆上的每一点可以表示成 \[ \left\{\begin{array}{**lr
阅读全文
14.1 Hough直线检测
摘要:Hough直线检测通过直角坐标系中(之后称直角坐标系)的点线关系和转换后的极坐标系(之后称为新坐标系)之间的对应关系,把直角坐标系中的直线检测转换成新坐标系中的点检测。 为了理解 Hough变换,先看一个简单的例子。 图1 其中 $A$为定点,直角坐标为 \(A(x,y)\),极坐标表示为 \(A(
阅读全文
3.5 图像几何变换——镜像变换
摘要:设原图像高度为 \(f_H\),宽度为 \(f_W\)。 1. 水平镜像变换 设原始图像的任意点 \(P_0(x_0, y_0)\),沿水平(\(x\) 方向)镜像后到新的位置 \(P(x,y)\),水平镜像不改变 \(y\) 坐标。其变换式为 \[ \left\{ \begin{array}{**
阅读全文
浙公网安备 33010602011771号