- 博客(23)
- 收藏
- 关注
原创 opencv-findContours轮廓查找(二十四)
RETR_LIST = 1,常用,轮廓不建立等级关系,全放进列表中。RETR_EXTERNAL = 0,表示值检测外轮廓。RETR_CCOMP = 2,每层最多两级。RETR_TREE = 3,按树形存储轮廓。两个返回值:contours:查找到所有轮廓的列表。hierarchy:层级。
2024-03-15 16:24:25
383
原创 opencv-morph形态学运算(二十三)
梯度 = 原图 - 腐蚀 (可以计算边缘)# 顶帽运算 = 原图 - 开运算。# 黑帽运算 = 原图 - 闭运算。
2024-03-15 16:22:52
342
原创 opencv-erode和dilate(腐蚀、膨胀)(二十一)
type: MORPH_RECT常用,矩形卷积核。MORPH_ELLIPSE椭圆卷积核。MORPH_CROSS十字架卷积核。iterations:执行腐蚀次数。size值为:(3,3)(5,5)
2024-03-15 16:18:38
337
1
原创 opencv-Binary二值化(二十)
ADAPTIVE_THRESH_GAUSSIAN_C:高斯窗口甲醛平均值,一般选择这个。type:THRESH_BINARY和THRESH_BINARY_INV,这两个api相反效果,第一个是超过阈值变成最大值,第二个是低于。计算阈值的方法:ADAPTIVE_THRESH_MEAN_C:计算邻近区域的平均值。type:THRESHOLD_BINARY、THRESHOLD_BINARY_INV用法与全局二值化一样。C:常量,应从计算出的平均值或加权平均值中减去,一般设置为0。
2024-03-15 16:13:28
391
1
原创 opencv-canny边缘检测大法(十九)
Canny(img,minVal,maxVal,...)minVal最小阈值,maxVal最大阈值。(1)使用5x5高斯滤波器平滑图像(基本边缘检测基本都有这步,为了减少噪声的影响)(3)单个边缘点响应。即对于边缘检测,只返回单点厚度的结果。即所有边缘都应该找到,并且没有虚假边缘。(2)准确的定位边缘。即检测到的边缘应该接近真实的边缘。(2)计算梯度幅值和边缘方向(0/45/90/135)(4)使用双阈值处理和连通性分析检测和链接边缘。(3)非极大值抑制(细化边缘),取局部极大值。1、canny边缘检测。
2024-03-12 15:15:54
274
1
原创 opencv-filter滤波(十八)
的通过(低通滤波是指使变化小(也就是图像中图形)的通过。filter2D(src,ddepth,kernel,anchor,delta,borderType)重点为前三个参数。这里的频是指变化(相邻像素值的变化),高通滤波是指使变化大也就是图像的边缘)本博文涉及的对比度调节方法有:数值加减运算、线性变化、非线性变化、直方图均衡化等手段。低通滤波 部分涉及: 均值滤波,方框滤波、中值滤波、高斯滤波和双边滤波。图像滤波分为高通滤波和低通滤波,高通滤波用于求图形的边缘,低通滤波用于图像去噪、
2024-03-12 15:14:40
908
1
原创 opencv-affine仿射(十六)
仿射API:warpAffine(src,M,dsize,flags,mode,value)flags: 与resize中的插值算法一直。# 定义:仿射变换是图像旋转,缩放,平移的总称。mode:边界外推法标志(可省略)value:填充边界的值(可省略)angle:角度,逆时针旋转。# 变换矩阵二,根据三个点制作M,center:中心点。scale:缩放比例。
2024-03-08 16:39:37
365
1
原创 opencv-scale_filp图像变换(十五)
cv.resize(图像,输出函数(C++,使用,py不写),(1280,640),x缩放比例,y缩放比例,插值算法)x缩放比例,y缩放比例与dsize有冲突,可不写。INTER_NEAREST,邻近插值,速度快,效果差。INTER_LINEAR,双线性插值,原图中的4个点。INTER_CUBIC,三次插值,原图的16个点。INTER_AREA,效果最好。filpCode < 0,上下+左右翻转。filpCode == 0,上下翻转。filpCode > 0,左右翻转。
2024-03-08 16:38:24
361
1
原创 opencv-draw绘制(十一)
矩形绘制:rectangle(img,start,end,color,线宽)线宽为-1则表示填充。----------------绘制图像----------------------------------------绘制文本------------------------直线绘制:cv.line(img,start,end,color,线宽,锯齿度...)多边形的绘制:polylines(img,点集,是否闭环,color,...)圆形绘制:circle(img,圆中心,半径R,color,线宽)
2024-03-06 09:21:02
421
1
原创 opencv-Mat补充(九)
img.size属性输出占用多大空间:即高度*长度*通道数。# 获取图像每个元素的位深,uint8(0-255)# shape属性输出(高度, 长度, 通道数)# Mat-图像的多种属性。
2024-03-03 11:51:31
367
原创 opencv-Mat(八)
channels:通道数 RGB是3。# Mat属性,主要分为header和data。# Mat浅拷贝,指向同一个内存地址data。depth:像素的位深。# Mat深拷贝,重新复制一份data。size: 矩阵大小。
2024-03-03 10:12:50
326
原创 opencv-numpy基础操作(七)
zeros((行高,列高,通道层数(3),np.uint8)RGB色彩填3。创建单元数组identity/eye()斜对角为1。创建全0数组zeros()/ones()创建全值数组full()创建数组array()# numpy创建矩阵。
2024-03-02 22:49:01
349
原创 opencv_cv2.cvtColor(img,code)色彩空间(六)
YUV主要作用于视频,HSV主要用在opencv中,RGB,BGR主要用在显示器硬件中。6_opencv重点 -- 色彩空间。Saturation: 饱和度,颜色的纯度。Saturation: 饱和度,颜色的纯度。scr是原始输入图像,code是色彩空间转换码,Hue:色相,即色彩,如红色,蓝色。Hue:色相,即色彩,如红色,蓝色。Lightness:亮度。OpenCv默认的是BGR。RGB:人眼的色彩空间。
2024-03-01 21:44:56
355
1
原创 opencv-videoWriter写视频操作(三)
步骤二: 创建对象: vw = cv.VideoWriter("写入目标文件",fourcc,fps,(size_w,size_h))注:size设置大小必须符合采集摄像头分辨率或者视频分辨率。步骤一: 先设置fourcc: fourcc = cv.VideoWriter_fourcc(*'MJPG') # 括号内也可以这么写:(‘M','J','P','G')步骤三: 在cap.read()读取到视频帧后,可以调用vw.writer(frame)写入到指定目标文件。filename:视频保存路径;
2024-03-01 16:45:09
535
原创 opencv-videoCapture视频OR摄像头图像的提取(二)
摄像头录取采集# VideoCapture(0) 摄像头采集,传入设备号,一般设备号从0开始 VideoCapture(filepath)也可以传入视频目录 1.设置相关的摄像头参数(不要轻易改变) capture.set(CV_CAP_PROP_FRAME_WIDTH, 1080);//宽度 capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960);//高度 capture.set(CV_CAP_PROP
2024-03-01 16:42:55
373
原创 opencv基础篇(一)
cv.resizeWindow(dlrb, dlrb.shape[1], dlrb.shape[0])设置窗口大小。cv.imwrite('./img/save.png',img)# 参数一要写入的路径,参数二要读取的图像名。cv.namedWindow('new', cv.WINDOW_NORMAL)设置窗口名字和显示模式。if key & 0xFF == ord('q'): # key是16位,取后八位。cv2.IMREAD_COLOR:加载彩色图片,这个是默认参数,可以直接写1。
2024-03-01 16:39:38
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人