- 博客(12)
- 收藏
- 关注
原创 信用卡号检测
OenCV实战:信用卡号检测 def sort_contours(cnts, method="left-to-right"): reverse = False i = 0 if method == "right-to-left" or method == "bottom-to-top": reverse = True if method == "top-to-bottom" or method == "botto
2021-07-05 19:04:48
256
原创 图像显示:图像堆叠
图像堆叠当我们像让几张图片同时显示在同一个窗口怎么办。def stackImages(scale,imgArray): rows = len(imgArray) cols = len(imgArray[0]) rowsAvailable = isinstance(imgArray[0], list) width = imgArray[0][0].shape[1] height = imgArray[0][0].shape[0] if rowsAvailab
2021-07-05 19:00:46
762
1
原创 OpenCV目标追踪
新版的opencv把很多相关的接口都换地方了。默认安装的没有相关算法,需要安装opencv_contrib扩展包。pip install opencv-contrib-python==3.4.3.18import cv2import numpy as npOPENCV_OBJECT_TRACKERS = { "csrt": cv2.TrackerCSRT_create, "kcf": cv2.TrackerKCF_create, "boosting": cv2..
2021-06-29 22:21:08
198
原创 一起学OpenCV图像处理技术 第七弹
图形轮廓一个轮廓对应着一系列的点, 这些点以某种方式表示图像中的一条曲线。在OpenCV中,函数cv2.findContours() 用于查找图像的轮廓, 并能够根据参数返回特定表示方式的轮廓(曲线) 。函数cv2.drawContours() 能够将查找到的轮廓绘制到图像上, 该函数可以根据参数在图像上绘制不同样式(实心/空心点,以及线条的不同粗细、颜色等)的轮廓,可以绘制全部轮廓也可以仅绘制指定的轮廓。函数cv2.findContours()语法格式为:image,contours,hierar
2021-06-29 21:46:56
344
原创 一起学OpenCV图像处理技术 第六弹
形态学操作腐蚀腐蚀是最基本的形态学操作之一,它能够将图像的边界点消除,使图像沿着边界向内收缩,也可以将小于指定结构体元素的部分去除。腐蚀用来“收缩”或者“细化”二值图像中的前景,借此实现去除噪声、元素分割等功能。例如,在下图中,左图是原始图像,右图是对其腐蚀的处理结果。import cv2import numpy as npimg = cv2.imread('j1.bmp')kernel = np.ones((9,9),np.uint8)erosion = cv2.erode(img,kern
2021-06-28 22:24:57
449
原创 滚动条与阈值
学了阈值处理才知道,如果显示不是我想要的怎么办,总不能一个一个值调试过去吧,当然有更具效率的办法啦。滚动条,我们经常看到的,通过它我们能更清楚我们想要的特定值。滚动条滚动条(Track bar) 在OpenCV中是非常方便的交互工具, 它依附于特定的窗口而存在。通过调节滚动条能够设置、获取指定范围内的特定值。在OpenCV中, 函数cv2.createTrackbar() 用来定义滚动条, 其语法格式为:cv2.create Track bar(trackbarname,winname,value,
2021-06-28 19:17:58
358
原创 一起学OpenCV图像处理技术 第五弹
阈值处理定义: 指剔除图像内像素值高于一定值或者低于一定值的像素点例如,设定阈值为127,然后:将图像内所有像素值大于127的像素点的值设为255。将图像内所有像素值小于或等于127的像素点的值设为0。OpenCV提供了函数cv2.threshold(),用于实现阈值处理。其语法格式为:retval, dst=cv2、threshold(src,thresh, maxval,type)dst代表阈值分割结果图像, 与原始图像具有相同的大小和类型。esrc代表要进行阈值分割的图像, 可
2021-06-28 17:18:38
84
原创 OpenCV之脸部打码
import cv2import numpy as npx2=cv2.imread("x2.jpg",0)h,w=x2.shapemask=np.zeros((h,w),dtype=np.uint8)mask[30:100,70:120]=255key=np.random.randint(0,256,size=[h,w],dtype=np.uint8)jiami=cv2.bitwise_xor(x2,key)jiamiface=cv2.bitwise_and(jiami,mask)nofa
2021-06-28 15:37:46
430
原创 一起学OpenCV图像处理技术 第四弹
图像运算1.cv2.add()函数函数 cv2.add() 可以用来计算图像像素值相加的和, 其语法格式为:计算结果=cv2.add(像素值a, 像素值b)使用函数cv2.add() 对像素值a和像素值b进行求和运算时, 会得到像素值对应图像的饱和值(最大值)。●如过两个像素值的和小于等于255,会直接得到运算结果,例如像素值25+像素值40 = 像素值65。●如过两个像素值的和大于255,则将则将运算结果处理为饱和值255,例如像素值125+像素值140 = 像素值255。比较使用“+”和函
2021-06-26 16:25:25
116
原创 一起学OpenCV图像处理技术 第三弹
几何变换1.缩放在OpenCV中, 使用函数cv2.resize() 实现对图像的缩放,该函数的具体形式为:dst=cv2.resize(src,dsize[, fx[, fy[Interpolation] ] ])式中:dst代表输出的目标图像, 该图像的类型与src相同,其大小为dsize(当该值非零时) ,或者可以通过src.size() 、fx、fy计算得到。src代表需要缩放的原始图像。dsize代表输出图像大小。fx代表水平方向的缩放比例。fy代表垂直方向的缩放比例。int
2021-06-26 15:19:10
316
原创 一起学OpenCV图像处理技术 第二弹
图像的基本表示方法包含二值图像(二值图像是指仅仅包含黑色和白色两种颜色的图像,本文不细讲),灰度图像(本文不细讲),彩色图像。彩色图像:相比二值图像和灰度图像,彩色图像是更常见的一类图像,它能表现更丰富的细节信息。神经生理学实验发现,在视网膜上存在三种不同的颜色感受器,能够感受三种不同的颜色:红色、绿色和蓝色,即三基色。自然界中常见的各种色光都可以通过将三基色按照一定的比例混合构成。除此以外,从光学角度出发,可以将颜色解析为主波长、纯度、明度等。从心理学和视觉角度出发,可以将颜色解析为色调、饱和度、
2021-06-26 13:58:34
145
原创 一起学OpenCV图像处理技术 第一弹
学OpenCV图像处理技术什么是OpenCV图像处理基本操作1.读取图像2.显示图像3.waitKey函数4.destroyWindow函数5.destroyAllWindows函数示例6.保存图像什么是OpenCVOpenCV是一个开源的计算机视觉库, 1999年由英特尔的Gary Brad ski启动。Brad ski在访学过程中注意到,在很多优秀大学的实验室中,都有非常完备的内部公开的计算机视觉接口。这些接口从一届学生传到另一届学生,对于刚入门的新人来说,使用这些接口比重复造轮子方便多了。这些接口
2021-06-21 17:17:53
140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人