
opencv
studyer_爱啃鸡爪的小米
学习者
展开
-
【新星计划】Python OpenCV 形态学应用—图像开运算与闭运算
开运算开运算=先腐蚀运算,再膨胀运算(看上去把细微连在一起的两块目标分开了)开运算的效果图如下图所示:开运算总结:(1)开运算能够除去孤立的小点,毛刺和小桥,而总的位置和形状不便。(2)开运算是一个基于几何运算的滤波器。(3)结构元素大小的不同将导致滤波效果的不同。(4)不同的结构元素的选择导致了不同的分割,即提取出不同的特征。样例原始图像代码实践 ...原创 2021-06-17 21:05:55 · 1032 阅读 · 6 评论 -
Python | Opencv的人脸检测和人脸识别
一、OpenCV简单介绍安装OpenCV,使用pip安装,推荐使用清华源,速度快:pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple另外还需要另外一个模块:pip install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple接下来就可以学习OpenCV了。1.1、OpenCv显示图像简单读取一个图像,原创 2021-05-27 20:31:19 · 2452 阅读 · 15 评论 -
2021-01-07 Python Opencv转换颜色空间 RGB转为HSV
Python Opencv转换颜色空间 RGB转为HSV举个例子,通过摄像头把视频中的蓝色区域凸显出来,剩余的颜色均为黑色import numpy as npcap = cv2.VideoCapture(0)while(1): # Take each frame _, frame = cap.read() # Convert BGR to HSV hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) #.原创 2021-01-07 13:47:48 · 2555 阅读 · 0 评论 -
2021-01-07 python opencv实现车牌识别 颜色定位
python opencv实现车牌识别 颜色定位主要代码参考https://blog.youkuaiyun.com/wzh191920/article/details/79589506GitHub:https://github.com/yinghualuowu我们发现有些图片根本就是胡乱定位的,原因在于预处理没有搞好而已,如果不想动预处理的代码的话,我们就换一个方法。这是我找了很久的黄色和蓝色的大概范围lower_blue = np.array([100, 110, 110])upper_.原创 2021-01-07 13:05:25 · 1827 阅读 · 3 评论 -
2021-01-07 python opencv 图像质量检测:图像亮度检测
python图像质量检测:图像亮度检测基于传统方式的图像质量检测需求:检测视频为是否亮度异常,此代码针对一帧图片进行检测,视频检测需要自行进行读取,并根据需求进行抽帧检测方式:通过计算灰度图上的均值和方差,亮度异常时,均值会偏离均值点(可以假设为128),方差也会偏小; # 把图片转换为单通道的灰度图 gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 获取形状以及长宽 img_shape = gray_img.s原创 2021-01-07 13:02:41 · 6133 阅读 · 3 评论 -
2021-01-07 python opencv调节图片亮度与对比度
python opencv调节图片亮度与对比度度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度。创建两个滑动条分别调整对比度和亮度(对比度范围:0 ~ 0.3, 亮度0 ~ 100)。提示:因为滑动条没有小数,所以可以设置为0 ~ 300,然后乘以0.01代码import cv2import numpy as npalpha = 0.3beta = 80img_path = "7MeansDenoising/1_.原创 2021-01-07 13:00:15 · 3274 阅读 · 1 评论 -
2020-12-11 图片格式互转:base64、PIL Image opencv cv2互转
图片格式互转:base64、PIL Image opencv cv2互转base64 to PIL Imageimport base64from io import BytesIOfrom PIL import Imagewith open("test.jpg", "rb") as f: im_b64 = base64.b64encode(f.read())im_bytes = base64.b64decode(im_b64) # im_bytes is a bina.原创 2020-12-11 12:10:05 · 428 阅读 · 0 评论 -
2020-12-03 Python OpenCV: 图片的裁剪
Python OpenCV: 图片的裁剪图片裁剪使用img[y0:y1, x0:x1],其中参数分别代表y轴和x轴的起始坐标,具体使用方法如下:import cv2img = cv2.imread('1.jpg',1)crop = img[200:600, 0:300] # 裁剪坐标为[y0:y1, x0:x1]cv2.imshow('image',crop )那我们裁剪的就是y轴200~600,x轴0~300像素的图片,例如下图: -->...原创 2020-12-03 14:27:02 · 804 阅读 · 0 评论 -
2020-11-06 Python OpenCV给证件照换底色
投简历、找工作这些事都需要证件照,有些还要求证件照背景颜色、尺寸大小,本文分享一下如果通过Python OpenCV来实现照片裁剪和更换背景色1、读取照片import cv2importnumpyasnp# 读取照片image = cv2.imread('1.jpg')2、修改照片尺寸发现图片太大,修改图片尺寸image = cv2.resize(image,None,fx=0.5,fy=0.5)第一个参数image:为原始图像第二个参数size:尺寸数组,我设...原创 2020-11-06 21:27:32 · 1569 阅读 · 2 评论 -
Python OpenCV 图片拆分与拼接
本文主要实现图片的简单拼接与拆分一、拆分示例图片:拆分代码如下:主要思路:读取图片后拆分为两个矩阵,再显示即可import numpy as npimport cv2path = './1.jpg'img = cv2.imread(path)# the image heightsum_rows = img.shape[0]# the image lengthsum_cols = img.shape[1]part1 = img[0:sum_rows, 0..原创 2020-11-06 10:56:53 · 3385 阅读 · 1 评论 -
python OpenCV 绘图函数
OpenCV可以用来绘制不同的集合图形,包括直线,矩形,圆,椭圆,多边形以及在图片上添加文字。用到的绘图函数包括cv2.line(),cv2.circle(),cv2.rectangle() ,cv2.putText() 等等。这些绘图函数需要设置参数如:• img:你想要绘制图形的那幅图像。• color:形状的颜色。以 RGB 为例,需要传入一个元组,例如: (255,0,0 )代表蓝色。对于灰度图只需要传入灰度值。• thickness:线条的粗细。如果给一个闭合图形设置为 -1,那么这.原创 2020-11-02 15:01:44 · 1763 阅读 · 1 评论 -
OpenCV中图像的BGR格式 Img对象的属性说明
1. 图像的BGR格式说明 OpenCV中图像读入的数据格式是numpy的ndarray数据格式。是BGR格式,取值范围是[0,255].如下图所示,分为三个维度:第一维度:Height 高度,对应图片的 nRow 行数第二维度:Width 宽度,对应图片的 nCol 列数第三维度:Value 代表BGR三通道的值BGR分别代表蓝色,绿色和红色2.Image 对象的属性 image.shape 返回图像的宽度,长度和通道数,如果是灰度图,返回值仅有行数和列数。...原创 2020-11-02 14:56:44 · 5315 阅读 · 1 评论 -
python opencv 批量将视频转化为图片
单个的视频转换图片参看:python opencv 把视频转为图片对于多个视频,采用多线程处理方法video_path为待转换视频的路径,pic_path为输出图像的路径,输出的图像统一保存在pic_path下面与相应视频名相同的文件夹下面。代码如下:# coding=utf-8import cv2import osimport threadingfrom threading import Lock, Threadvideo_path = "./video/"pic.原创 2020-10-22 17:33:46 · 2724 阅读 · 8 评论 -
python opencv 把视频转为图片
import cv2def getFrame(videoPath, svPath): cap = cv2.VideoCapture(videoPath) numFrame = 0 while True: if cap.grab(): flag, frame = cap.retrieve() if not flag: continue else: ...原创 2020-10-22 17:30:12 · 1535 阅读 · 0 评论 -
解决AttributeError: module ‘cv2.cv2‘ has no attribute ‘estimateRigidTransform‘
问题:AttributeError: module ‘cv2.cv2’ has no attribute ‘estimateRigidTransform’分析:出现该问题的原因可能是opencv的版本太高,不存在estimateRigidTransform方法,查看文档后我们可以发现,该方法已被弃用,如下表述所示。Deprecated:Use cv::estimateAffine2D, cv::estimateAffinePartial2D instead. If you are using ..原创 2020-10-15 16:17:23 · 5055 阅读 · 5 评论 -
Python PIL.Image和OpenCV图像格式相互转换
python 图片base64 编解码,转换成Opencv,PIL.Image图片格式参看:python 图片base64 编解码,转换成Opencv,PIL.Image图片格式PIL.Image转换成OpenCV格式import cv2from PIL import Imageimport numpy image = Image.open("1.jpg")image.show()img = cv2.cvtColor(numpy.asarray(image),cv2.COLOR_R原创 2020-10-15 16:12:56 · 907 阅读 · 0 评论 -
python 图片base64 编解码,转换成Opencv,PIL.Image图片格式
二进制打开图片文件,base64编解码转成Opencv格式:# coding: utf-8import base64import numpy as npimport cv2 img_file = open('1.jpg','rb') # 二进制打开图片文件img_b64encode = base64.b64encode(img_file.read()) # base64编码img_file.close() # 文件关闭img_b64decode = base64.b64deco原创 2020-10-15 16:10:32 · 969 阅读 · 0 评论 -
Python opencv 获取图像形状大小
图像矩阵的shape属性表示图像的大小,shape会返回tuple元组,第一个元素表示矩阵行数,也就是图像的高(Y),第二个元组表示矩阵列数,也就是图像的宽(X),第三个元素是3,表示像素值由光的三原色组成。import cv2import numpy as npfn="22.jpg"if __name__ == '__main__': print('load %s as ...' % fn) img = cv2.imread(fn) sp = img.shape原创 2020-10-15 15:54:43 · 9745 阅读 · 0 评论 -
OpenCV-Python 相机校准和消除畸变
目标在本节中,我们将学习由相机引起的失真类型, 如何找到相机的固有和非固有特性 如何根据这些特性使图像不失真基础一些针孔相机会给图像带来明显的失真。两种主要的变形是径向变形和切向变形。径向变形会导致直线出现弯曲。距图像中心越远,径向畸变越大。例如,下面显示一个图像,其中棋盘的两个边缘用红线标记。但是,您会看到棋盘的边框不是直线,并且与红线不匹配。所有预期的直线都凸出。有关更多详细信息,请访问“失真(光学)”。径向变形可以表示成如下:同样,由于摄像镜头未完全平行于成像平面对齐原创 2020-09-11 18:29:30 · 11372 阅读 · 0 评论 -
基于python opencv实现广角相机标定和图像畸变矫正
目的:实现相机标定,得到相机的内参以及畸变旋转参数等 尝试矫正由相机产生的图像畸变代码:import cv2 as cvimport numpy as npimport globimport os#循环中断criteria=(cv.TERM_CRITERIA_EPS+cv.TERM_CRITERIA_MAX_ITER,30,0.001)#标定板交叉点的个数row=6column=4objp=np.zeros((row*column,3),np.float32)objp[原创 2020-09-11 18:25:29 · 2610 阅读 · 0 评论