自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Opencv视频读取

@fuxianjun学习打开摄像头捕获照片、播放本地视频、录制视频等。目标打开摄像头并捕获照片播放本地视频,录制视频OpenCV函数:cv2.VideoCapture(), cv2.VideoWriter()打开摄像头要使用摄像头,需要使用cv2.VideoCapture(0)创建VideoCapture对象,参数0指的是摄像头的编号,如果你电脑上有两个摄像头的话,访问第2个摄像头就可以传入1,依此类推cap = cv2.VideoCapture(0)while(cap.isOpen

2021-07-05 18:33:35 186

原创 Opencv实践应用之答题卡处理

@fuxianjun答题卡处理的基础步骤1.预处理、轮廓检测import cv2import numpy as np# 正确答案ANSWER_KEY = {0: 1, 1: 4, 2: 0, 3: 3, 4: 1}def cv_show(name,img): cv2.imshow(name, img) cv2.waitKey(0) cv2.destroyAllWindows() # 读取输入image = cv2.imrea

2021-06-28 20:40:11 648

原创 Opencv图像轮廓处理

@fuxianjun寻找轮廓的操作一般用于二值化图,所以通常会使用阈值分割或Canny边缘检测先得到二值图。cv2.findContours()函数contours,hierarchy=cv2.findContours(image,mode,method)contours:返回的轮廓。例如contours[i]表示第i个轮廓。hierarchy:图像的拓扑信息(轮廓层次)。image:输入的图像。mode:轮廓搜索模式:决定了轮廓的提取方式。method:轮廓近似方法:决定了如何表

2021-06-28 15:10:44 802

原创 Opencv Canny边缘检测

本节对Canny边缘检测的步骤进行简单的介绍,希望帮助大家理解canny边缘检测的原理。1) 使用高斯滤波器,以平滑图像,滤除噪声。2) 计算图像中每个像素点的梯度强度和方向。3) 应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。4) 应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。5) 通过抑制孤立的弱边缘最终完成边缘检测。Canny函数及使用OpenCV提供了函数cv2.Canny0...

2021-06-28 14:51:15 235

原创 Opencv图像梯度

@fuxianjunSoble图像接度计算的是围像变化的速度,对于图像的边缘部分,其灰度值变化较大,棉度值也较大:相反对于限像中比较平滑的部分,其灰度值变化较小,相应的梯度值也权小,定低馆严格来讲,图像梯度计算需要求导数,但是图像梯度一般通过计算像素值的差来得到梯度的近似值(近似导数值)。例如,图中的左右两幅图分别描述了图像的水平边界和垂直边界。针对左图,通过垂直方向的线条A和线条B的位置,可以计算图像水平方向的边界:●对于线条A和线条B,其右侧像素值与左侧像素值的差值不为零,因此是边界.

2021-06-28 14:40:22 183

原创 Opencv 形态学操作

侵蚀 腐蚀是最基本的形态学操作之一,它能够将图像的边界点消除,使图像沿着边界向内收缩,也可以将小于指定结构体元素的部分去除。腐蚀用来“收缩”或者“细化”二值图像中的前景,借此实现去除噪声、元素分割等功能。例如,在图中,左图是原始图像,右图是对其腐蚀的处理结果。 在Opencv中,使用函数cv2.reode()实现侵蚀操作,其语法格式为:dst=cv2.erode(src,kernel[,anchor[,iteratio...

2021-06-27 17:14:16 183 1

原创 Opencv实现图像的平滑处理

在尽量保留图像原有信息的情况下,过滤掉图像内部的噪声,这一过程称为对图像的平滑处理,所得的图像陈威平滑图像。均值滤波图像平滑处理会对图像中与周围像素点的像素值差异较大的像素点进行处理,将其值调整周围像素点像素值的近似值。例如,假设下图是一幅图像的像素点值。在图中,大部r像素点值在[145,150]区间内,只有位于第3行第3列的像素点的值“29”不在这个范围内。位于第3行第3列的像素点,与周围像素点值的大小存在明显差异。反映在图像上,该周围的像素...

2021-06-26 15:49:22 610

原创 Opencv滑块实现阈值处理

阈值处理是指剔除图像内像素值高于一定值或者低于一定值的像素点。例如,设定阈值为127,然后: 将图像内像素值大于127的像素点的值设置为255。 将图像内像素值小于127或者等于127的像素点的值设置为0。通过阈值处理可以有效的实现前景和背景的分离。自适应阈值运算对于色彩均衡的图像,直接使用一个阈值就可能够完成对图像的阈值化处理。但是,有时图像的色彩是不均衡的,此时如果只使用一个阈值,就无法得到清晰有效的阈值分割结果图像。 ...

2021-06-26 14:53:16 384 1

原创 Opencv透视实现图像部分的旋转

图像透视有几个基础操作(放大,缩小,旋转,平移,透视……)放大翻转平移旋转语法:retval=cv2.getRotationMatrix2D(center,anle,scale)center:旋转中心angle:旋转角度,正数为逆时针旋转,负数为顺时针旋转scale:缩放大小透视语法一:转换矩阵M=cv2.getPerspectiveTransform(pts_o,pts-d)pts_o为原始四个坐标pts_d为变换后四个坐标语法二:

2021-06-26 14:15:43 485

原创 Opencv实现面部打码

面部打码的原理就是对像素值进行加密操作import cv2import numpy as npshenmi = cv2.imread("shenmi.jpg")h,w,_=shenmi.shapemask = np.zeros((h,w,3),dtype-np.uint8)mask[30:100, 46:125,:]=255key=np.random.randint (0, 256, (h,w,3), dtype=8shermi_ xor=cv2. bi twise_ _xor (she

2021-06-26 13:12:37 210

原创 Opencv简单实现改编图片中指点颜色

import cv2img=cv2.imread("shape.jpg")h,w,c=img.shapefor i in range(h): for j in range(w): for k in range(0,3): if 110 img.itemset((i,j,0),0) ...

2021-06-26 12:52:05 241

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除