![](https://img-blog.csdnimg.cn/20210609123520378.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
python3.9实现opencv4.4.0学习笔记
python3.9实现opencv4.4.0
云散月明晴
我很懒,没什么简介
展开
-
图片存在灰白、深黑区域的检测
import cv2 as cvfile_path = 'E:/Python/pythonProject_4/1.jpg'def blackAndwhite_screen(file_path): img = cv.imread(file_path) rows=img.shape[0] cols=img.shape[1] n=0 for r in range(0,rows): for c in range(0,cols): .原创 2022-05-19 00:12:04 · 408 阅读 · 0 评论 -
python实现opencv学习二十三:识别验证码
代码:# -*- coding=GBK -*-import cv2 as cvfrom PIL import Imageimport pytesseractdef recognize_text(): gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY) ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY_INV | cv.THRESH_OTSU) cv.imshow("原创 2021-06-30 14:36:27 · 604 阅读 · 0 评论 -
python实现opencv学习二十二:人脸检测
图片中的人脸检测代码:# -*- coding=GBK -*-import cv2 as cv# 人脸检测def face_image(): gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY) face_detector = cv.CascadeClassifier("E:\Python\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml") faces = face_原创 2021-06-30 14:19:36 · 220 阅读 · 0 评论 -
python实现opencv学习二十一:分水岭分割算法
代码:# -*- coding=GBK -*-import cv2 as cvimport numpy as np# 分水岭算法def water_image(): print(src.shape) blurred = cv.pyrMeanShiftFiltering(src, 10, 100) # 去除噪点#=========确定前景对象========== # gray\binary image gray = cv.cvtColor(blurred,原创 2021-06-30 01:17:13 · 761 阅读 · 0 评论 -
python实现opencv学习二十:图像的开闭操作
代码:# -*- coding=GBK -*-import cv2 as cv#开操作: # 图像形态学的重要操纵之一,基于膨胀与腐蚀操作组合形成的; # 主要是应用在二值图像分析中,灰度图像亦可; # 开操作 = 腐蚀+膨胀 ,输入图像 + 结构元素 # 作用:用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积.提取水平或竖直的线# 闭操作: # 图像形态学的重要操纵之一,基于膨胀与腐蚀操作组合形成的; # 主要原创 2021-06-29 22:21:50 · 423 阅读 · 0 评论 -
python实现opencv学习十九:轮廓发现
代码:# -*- coding=GBK -*-import cv2 as cvimport numpy as np# 轮廓发现 https://blog.csdn.net/dz4543/article/details/80655067def contous_image(image): copyImage = image.copy() # 复制原图像 h, w = image.shape[:2] # 读取图像的宽和高 mask = np.zeros([h + 2,原创 2021-06-29 21:47:52 · 184 阅读 · 0 评论 -
python实现opencv学习十八:hough变换检测圆
代码:# -*- coding=GBK -*-import cv2 as cvimport numpy as np# 圆检测def circles_image(image): # dst = cv.pyrMeanShiftFiltering(image, 10, 100) cimage = cv.cvtColor(image, cv.COLOR_BGR2GRAY) circles = cv.HoughCircles(cimage, cv.HOUGH_GRADIENT原创 2021-06-29 19:08:06 · 332 阅读 · 0 评论 -
python实现opencv学习十七:hough变换检测直线
HoughLines代码:# -*- coding=GBK -*-import cv2 as cvimport numpy as np# hough变换检测直线与圆 :https://blog.csdn.net/on2way/article/details/47028969def line_image(image): gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) edges = cv.Canny(gray, 50, 150,原创 2021-06-29 18:28:03 · 1317 阅读 · 0 评论 -
python实现opencv学习十六:Canny边缘检测算法
代码:# -*- coding=GBK -*-import cv2 as cv# 边缘检测述算法def edge_image(image): # blurred = cv.GaussianBlur(image, (3, 3), 0) # 去噪、提取特征 # cv.imshow("GaussianBlur", blurred) gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) xgrad = cv.Sobel(gray,原创 2021-06-29 01:24:19 · 382 阅读 · 0 评论 -
python实现opencv学习十五:图像梯度
基本图像梯度代码:import cv2import numpy as npmoon = cv2.imread("moon.jpg", 0)row, column = moon.shapemoon_f = np.copy(moon)moon_f = moon_f.astype("float")gradient = np.zeros((row, column))for x in range(row - 1): for y in range(column - 1):原创 2021-06-29 00:46:50 · 279 阅读 · 0 评论 -
python实现opencv学习十四:高斯金字塔和拉普拉斯金字塔
代码:# -*- coding=GBK -*-# coding:utf-8import cv2 as cvimport numpy as np# 高斯金字塔和拉普拉斯金字塔的原理和python构建:https://zhuanlan.zhihu.com/p/94014493# 高斯金字塔def pyramid_image(image): level = 3 # 金字塔的层数 temp = image.copy() # 拷贝图像 pyramid_images =原创 2021-06-28 14:52:33 · 454 阅读 · 0 评论 -
python实现opencv学习十三:图像二值化
固定阈值二值化代码:# -*- coding=GBK -*-import cv2 as cv# 固定阈值def threshold_image(image): gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) cv.imshow("before", gray) ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU) # 大律法原创 2021-06-28 09:41:43 · 356 阅读 · 0 评论 -
python实现opencv学习十二:模板匹配
代码:# -*- coding=GBK -*-import cv2 as cvimport numpy as np# 模版匹配def template_image(): Target_model = cv.imread("model.jpg") Model = cv.imread("fengling.jpg") cv.imshow("Target_model", Target_model) cv.imshow("Model", Model) meth原创 2021-06-25 19:44:27 · 167 阅读 · 0 评论 -
python实现opencv学习十一:图像直方图
绘出图片直方图代码:# -*- coding=GBK -*-import cv2 as cv #导入整个cv2包from matplotlib import pyplot as plt #从matplotlib中导入pyplotl类# 画出图像的直方图def hist_image(image): color = ("blue", "green", "red") for i, color in enumerate(color): # (i, color)原创 2021-06-25 18:46:16 · 146 阅读 · 0 评论 -
python实现opencv学习十:利用卷积对图像进行模糊处理
代码:# -*- coding=GBK -*-import cv2 as cvdef mo_image(src1): src2 = cv.blur(src1, (5, 5)) cv.imshow("junzhilvbo", src2) src2 = cv.medianBlur(src1, 5) cv.imshow("zhongzhilvbo", src2) src2 = cv.GaussianBlur(src1, (5, 5), 2) cv.原创 2021-06-21 13:49:31 · 266 阅读 · 0 评论 -
python实现opencv学习九:floodFill填充函数
指定颜色替换代码:# -*- coding=GBK -*-import cv2 as cvimport numpy as np# 指定颜色替换def fill_image(image): copyImage = image.copy() # 复制原图像 h, w = image.shape[:2] # 读取图像的宽和高 mask = np.zeros([h + 2, w + 2], np.uint8) # 新建图像矩阵 +2是官方函数要求 cv.原创 2021-06-19 15:37:55 · 635 阅读 · 0 评论 -
python实现opencv学习八:图片切割、合并、填充
代码:# -*- coding=GBK -*-import cv2 as cv# 截取图片中的指定区域或在指定区域添加某一图片def jie_image(src1): src2 = src1[1:50, 200:299] # 截取第1行到20行的第11列到17列的区域 cv.namedWindow("cut",0) cv.resizeWindow("cut", 100, 50) # 截取的行和列对应 的是截取图片的宽和长 cv.imshow("cut",原创 2021-06-18 01:18:13 · 600 阅读 · 0 评论 -
python实现opencv学习七:粗略的调整图片对比度和亮度
代码:# -*- coding=GBK -*-import cv2 as cvimport numpy as np# 粗略的调节对比度和亮度def contrast_brightness_image(src1, a, g): h, w, ch = src1.shape # 获取shape的数值,height和width、通道 src2 = np.zeros([h, w, ch], src1.dtype) # 新建全零图片数组src2,将height和width,类型设原创 2021-06-14 14:53:30 · 1889 阅读 · 2 评论 -
python实现opencv学习六:图片色素的数值运算(加减乘除)和逻辑运算(与或非异或)
数值运算代码:结果:原创 2021-06-14 03:17:08 · 407 阅读 · 2 评论 -
python实现opencv学习五:色彩空间转换
利用转换函数实现图像色彩空间转换代码:# -*- coding=GBK -*-import cv2 as cv# 色彩空间的转换def color_space_demo(image): gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) # RGB转换为gray# cv.namedWindow("gray", cv.WINDOW_NORMAL) cv.imshow("gray", gray) hsv = cv.cvt原创 2021-06-13 18:24:40 · 349 阅读 · 0 评论 -
python实现opencv学习四:numpy操作数组输出图片
读取一张图片,并将像素取反:# -*- coding=GBK -*-import cv2 as cvdef access_pixles(image): print(image.shape) height = image.shape[0] width = image.shape[1] channel = image.shape[2] print("width : %s, height : %s, channel : %s" % (width, height原创 2021-06-10 15:41:47 · 766 阅读 · 0 评论 -
python实现opencv学习三:调用摄像头或打开视频文件
代码:结果:原创 2021-06-10 02:09:31 · 936 阅读 · 1 评论 -
python实现opencv学习二:打印图片的属性,另存为图片
# -*- coding=GBK -*-import cv2 as cvimport numpy as np# 输出图片属性def get_image_info(image): # 定义一个函数来输出图片的一些属性 print(type(image)) # type()函数:获取对象数据类型---numpy类型的数组 print(image.shape) # 图像矩阵的shape属性表示图像的大小,shape会返回tuple元组,第一个元素表示矩阵行数,第二个元组表示.原创 2021-06-09 15:38:25 · 436 阅读 · 0 评论 -
python实现opencv学习一:读取一张图片
# -*- coding=GBK -*-import cv2 as cv#导入opencv库,并定义cv一词来引用cv2scr = cv.imread("protect.bmp")#读取图片#图片路径需要放在该程序文件夹下面,或者反过来cv.namedWindow("protect",0)#图片尺寸#为0或cv.WINDOW_NORMAL:可以改变窗口大小#不写0或cv.WINDOW_AUTOSIZE则不可改变大小cv.imshow("protect",scr)#图片显示#第一个参数:窗.原创 2021-06-09 13:51:23 · 741 阅读 · 1 评论 -
python实现opencv学习笔记:简单说明
本人对python实现opencv的学习是按照版本:python 3.9+ opencv 4.4.0原创 2021-06-09 13:02:43 · 194 阅读 · 0 评论