opencv
记录学习到的各种opencv函数与功能
——何为欢喜
这个作者很懒,什么都没留下…
展开
-
创建一个以当前时间为名字的文件夹。并返回其路径
自用随手笔记记录:输入一个目标文件夹,返回一个在该文件夹下创建的以当前时间命名的文件夹以及一个excel文件。def creat_floder(excel_save_path): if not os.path.exists(excel_save_path): os.mkdir(excel_save_path) w_crate = op.Workbook() w = w_crate.active w.column_dimensions['A'].width原创 2021-10-27 16:34:38 · 413 阅读 · 0 评论 -
python opencv创建多个滑动块,调节多个不同区域的灰度
opencv创建多个滑动块,调节多个不同区域的灰度,代码直接如下,import cv2 as cvimport numpy as npdef nothing(x): pass# 创建一副黑色图像img = np.zeros((1080, 1920), np.uint8)# 设置滑动条组件cv.namedWindow('image')cv.createTrackbar('C1', 'image', 0, 255, nothing)cv.createTrackbar('C2'原创 2021-09-30 15:30:29 · 344 阅读 · 0 评论 -
创建一个窗口来显示显色,还有三个滑动条来设置B,G,R 的颜色。
前言:创建一个简单的程序来说明滑动条用法:通过调节滑动条来设定画板颜色。我们要创建一个窗口来显示显色,还有三个滑动条来设置B,G,R 的颜色。当我们滑动滚动条是窗口的颜色也会发生相应改变。默认情况下窗口的起始颜色为黑。例子: 1 # -*- coding: utf-8 -*- 2 3 import cv2 4 import numpy as np 5 6 def nothing(x): 7 pass 8 9 # 创建一副黑色图像10 img=np.zeros((3转载 2021-09-30 15:22:55 · 434 阅读 · 0 评论 -
利用python与opencv实现对一张照片所有像素灰度的反相
利用python与opencv实现对一张照片所有像素灰度的反相输入一副图像即可:本段代码所计算的其实并不是完全反相所有像素灰度值,一般反相是用255减去图片中每一个像素灰度值所剩下的值即为反相值,但本段代码示例中,使用的是图片中最大与最小灰度值作为图片灰度值上限,反相结果为新的灰度值上限减去每一像素点的灰度值所得结果。代码如下:import cv2 as cvimport numpy as npdef fanse(img): img_gray = cv.cvtColor(img, cv原创 2021-09-27 11:25:47 · 849 阅读 · 0 评论 -
寻找图片中两个线段的相交之处像素的坐标
给定一张图片,给定两个相交线段,实际上在代码中获取到的是组成两个线段的所有像素的坐标,为了将两个线段相交之处的所有像素的坐标返回,定义了下面这个接口。输入的数据类型是numpy数组,int数据。def find_cross_dot(line, countors_array): equal = [] for i in line: for j in countors_array: if i[0] == j[0]: if原创 2021-09-15 12:07:01 · 193 阅读 · 0 评论 -
统计一副图片中两个固定像素点之间构成直线的所有像素点
给定一副图片,拥有两个像素坐标,想要获取这两个像素坐标构成的直线上所有的像素坐标。计算由这两个坐标所构成直线的斜率与偏差,就小学学的一元一次方程算一下就好。# 输入两个像素点坐标,返回这两个点所确定直线上所有的像素点坐标(返回值代表这条直线的线宽为3个像素),但实质上并不是直线,跟像素点上画园一个道理# 输入坐标只能是按图片位置上的从左到右,坐标点1(x1, y1)一定要在坐标点2(x2, y2)的左侧,否则无法计算def calculate_slope(x1, y1, x2, y2): i原创 2021-09-15 12:02:26 · 2006 阅读 · 0 评论 -
python利用numpy将list转换为array
将list转换成数组。由于list中可以存放不同类型的元素,因此在转换成数组时,为了保证转换不出错,要检查类型是否一致,有数字且有字符的list转成array时会变成字符数组。import numpy as nparray = np.asarray(list)array = np.array(list, dtype = int)#转换方式,需注意dtype...原创 2021-09-09 15:07:20 · 6168 阅读 · 0 评论 -
python用openpyxl向excel中添加数据(文字,数据,图片等)
利用openpyxl向excel内添加数据excel也是利用openpyxl生成的, 并且命名为当前电脑系统时间import osimport openpyxl as op# 创建excel并返回excel的名字与地址,命名规则为当前时间def crate_excel(excel_save_path): # 创建excel接口,并返回excel的路径与名字, 命名规则为当前时间 if not os.path.exists(excel_save_path): os.mkd原创 2021-09-06 16:42:06 · 3175 阅读 · 0 评论 -
计算图片中某个像素周围一定尺寸的所有像素的平均灰度
确定一个中心点,然后以一定半径向周围画正方形,中心点为正方形的正中心,创建接口,输入为图片的尺寸,与图片本身,返回值为中心点附近所有像素的平均灰度值import numpy as npdef calculate_avg(h, w, img_new): # 计算中心点周围(num-1)*2个像素范围内正方形的每个像素的平均灰度 num = int(h/20/2) p_sum = 0 for i in range(num): for j in range(num原创 2021-09-03 17:31:36 · 1099 阅读 · 0 评论 -
python利用openpyxl操作excel
创建excelimport openpyxl as opdef crate_excel(excel_save_path): # 创建excel接口,并返回excel的路径与名字 if not os.path.exists(excel_save_path): os.mkdir(excel_save_path) w_crate = op.Workbook() # w = w_crate.active excel_path = excel_save_path原创 2021-09-03 17:12:25 · 169 阅读 · 0 评论 -
多通道操作函数cv.split()与cv.merge()
1.多通道分离函数cv.split()mv = cv.split(m, [,mv])mv:分离之后的单通道图像(m有几个通道,mv就有多少个参数)m:待分离的多通道图像该函数主要功能为将多通道的图像分离为单通道的图像,并通过结果返回。(可用于分离3通道彩色图为3个单通道的纯色图)2.多通道合并函数cv.merge()dst = cv.merge((a, b, c), [,dst])(a, b, c):待合并的图像,a, b, c可以是单通道图像,也可以是多通道图像,但原创 2021-09-02 14:10:07 · 1536 阅读 · 0 评论 -
基于python的相机标定(采用圆形标定板图片)
圆形标定版标定相机原创 2021-08-25 11:04:07 · 3136 阅读 · 3 评论 -
基于python的opencv相机标定(采用黑白棋盘格标定板)
基于python的相机标定(采用黑白棋盘格图片)系列文章目录第一章 基于python的相机标定(采用黑白棋盘格图片)提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录基于python的相机标定(采用黑白棋盘格图片)系列文章目录前言一、准备标定用的图片二、提取照片中棋盘格的角点1.载入需要用的库2.读取图片并提取角点3.标定相机前言工业相机在正常使用前需要进行相机标定,得出相机的内参矩阵与畸变系数。一、准备标定用的图片在标定之前,需要用待标定的相机拍摄用于标定相原创 2021-08-25 10:57:49 · 3821 阅读 · 0 评论