
OpenCV学习笔记
文章平均质量分 84
个人学习笔记
onlywishes
我不知道路途的前方究竟有什么,但还是迈出了步伐,我们仍在旅途之中。
展开
-
OpenCV信用卡识别
分为三大步:1、处理数字模板2、处理信用卡上的数字 3、将信用卡上的数字与模板进行匹配数字模板如图(要与信用卡上的数字相像)信用卡如图导入工具包import numpy as npimport cv2import myutilsimport myutils as contoursmyutils就是包含定义排序函数 和 按比例resize图像大小的函数,在下面介绍一、处理数字模板分为三步:...原创 2022-01-25 23:45:43 · 4459 阅读 · 11 评论 -
图像特征之不求甚解
Harris 角点检测角点是一个好的图像特征,可以根据角点找到在图中的位置角点的一个特性:向任何方向移动变化都很大使用函数 cv2.cornerHarris( img, blockSize ,ksize , k) 可以用来进行角点检测img :数据类型为 flfloat32 的输入图像。 blockSize :角点检测中要考虑的区域大小ksize :Sobel 求导中使用的窗口大小 k :Harris...原创 2022-01-24 23:21:12 · 2157 阅读 · 0 评论 -
傅里叶变换
傅里叶变换傅里叶变换是把一个信号从时域(空间域)变换到其对应的频域进行分析:傅里叶详情高频:变化剧烈的灰度分量,如边界低频:变化缓慢的灰度分量,如大海滤波 低通滤波器:只保留低频,会使图像模糊 高通滤波器:只保留高频,使图像细节增强傅里叶正变换使用函数 cv2.dft(img,flags) 可将图像转换到频域,实现高通和低通滤波对一维或者二维浮点数数组进行正向或反向离散傅里叶变换...原创 2022-01-21 22:45:31 · 5850 阅读 · 0 评论 -
模板匹配&直方图均衡化
图像模板匹配模板匹配是用来在一副大图中搜寻查找模版图像位置的方法。和卷积一样,它也是用模板图像在输入图像上滑动,并在每一个位置对模板图像和与其对应的输入图像的子区域进行差别比较。如果输入图像的大小是(AxB),模板的大小是(axb), 输出的结果的大小就是(A-a+1,B-b+1)匹配单个图像使用函数 cv2.matchTemplate(img, templ, method) 返回结果templ:模板图像...原创 2022-01-20 23:42:39 · 2913 阅读 · 0 评论 -
图像金字塔&图像轮廓
高斯金字塔和拉普拉斯金字塔图像金字塔,简单来说就是同一图像的不同分辨率的子图集合,把最大的图像放在底部,最小的放在顶部。高斯金字塔的顶部图像中的每个像素值等于下一层图像中 5 个像素的高斯加权平均值,这样操作一次一个 MxN 的图像就变成了一个 M/2xN/2 的图像。这幅图像的面积就变为原来图像面积的四分之一,重复操作分辨率越低使用函数 cv2.pyrDown(src , dst , dstsize ) 从一个高分辨率大尺寸的图像向上构建一个金子塔(尺寸变小,分辨率降低)...原创 2022-01-19 23:36:00 · 1460 阅读 · 0 评论 -
形态学操作and图像梯度和Canny边缘检测
形态学形态学操作一般情况下对二值化图像进行操作。需要输入两个参数,一个是原始图像,第二个为核,它是用来决定操作的性质的1、腐蚀操作卷积核沿着图像滑动,如果与卷积核对应的原图像的所有像素值都是 1,那么中心元素就保持原来的像素值,否则就变为零使用函数 cv2.erode( img , kernel , iterations )kernel : 核 iterations :迭代次数,次数越多腐蚀越多import cv2import ...原创 2022-01-18 23:32:45 · 2481 阅读 · 2 评论 -
图像上的算数运算、阈值处理和平滑处理
图像加法可以使用函数 cv2.add() 将两幅图像进行加法运算,也可以直接使用 numpy,new=img+img1。两幅图像的大小,类型必须一致.第二个图像可以用一个标量值。import numpy as npimport cv2 img = cv2.imread('kn.jpg')img1 = img+10 #加法运算cv2.imshow('pic',img)cv2.imshow('pic1',img1)print(img[:5,:,0])print(img1[.原创 2022-01-17 23:48:47 · 874 阅读 · 0 评论 -
图像的基础操作
图像ROI在原图像中截取出你感兴趣的图像区域对图片设置切片import numpy as npimport cv2img=cv2.imread('op.jpg')pic = img[90:360,80:330] #切割图片cv2.imshow('pic',pic)cv2.waitKey(0)cv2.destroyAllWindows()也可以把切割后的图像粘贴在原图像特定位置import numpy as npimport cv2img=cv2.im...原创 2022-01-16 22:51:07 · 647 阅读 · 0 评论 -
openCV图像和视频简单操作
图片1、读入图像使用函数 cv2.imread() 读入图像。这幅图像应该在此程序的工作路径,或者给函数提供完整路径, 第二个参数是要告诉函数应该如何读取这幅图片。(不写默认彩色)cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,这是默认参数。cv2.IMREAD_GRAYSCALE:以灰度模式读入图像...原创 2022-01-15 22:36:01 · 735 阅读 · 0 评论