【openCV Python基础--图形绘制】教程文章相关的互联网学习教程文章

python+opencv 直方图反向投影【图】

直方图反向投影 1、先把RGB色彩空间转换为HSV色彩空间 2、计算样本的2D直方图 3、对样本直方图作归一化 4、对目标图像作反向投影import cv2 as cv import numpy as np from matplotlib import pyplot as pltdef back_project_demo():sample = cv.imread('C:/Users/Y/Pictures/Saved Pictures/lena.png')target = cv.imread('C:/Users/Y/Pictures/Saved Pictures/lenanoise.png')roi_hsv = cv.cvtColor(sample, cv.COLOR_BGR2HSV)ta...

OpenCV python 绘制随机实心圆【代码】【图】

OpenCV python 绘制随机实心圆 import numpy as np import cv2def main():# 1.创建白色背景图片d = 400img = np.ones((d, d, 3), np.uint8) * 255# 2.循环随机绘制实心圆for i in range(0, 100):# 随机中心点center_x = np.random.randint(0, high=d)center_y = np.random.randint(0, high=d)# 随机半径与颜色radius = np.random.randint(5, high=d/5)color = np.random.randint(0, high=256, size=(3, )).tolist()cv2.circle(img,...

OpenCV-Python学习笔记(一):图像读入、显示、保存,BGR模式转RGB模式【图】

使用OpenCV-Python实现图像读入、显示与保存: # -*- coding: utf-8 -*- import cv2 from matplotlib import pyplot as plt # # 第二个参数,0为灰度模式显示,1为彩色图像,默认值为1 # img0 = cv2.imread(rD:\OpenCV_Python\chepai.jpg, 0) # img1 = cv2.imread(rD:\OpenCV_Python\chepai.jpg, 1) # 或者如下: img0 = cv2.imread(rD:\OpenCV_Python\chepai.jpg, cv2.IMREAD_GRAYSCALE) img1 = cv2.imread(rD:\OpenCV_Python...

OpenCV python 播放视频文件(.avi)【代码】

OpenCV python 播放视频文件(.avi) 同文件夹存放文件[test.avi] import cv2def main():# 1.初始化读取视频对象cap = cv2.VideoCapture("test.avi")# 2.循环读取图片while cap.isOpened():ret, frame = cap.read()if ret:cv2.imshow("frame", frame)else:print("视频播放完成!")break# 退出播放key = cv2.waitKey(25)if key == 27: # 按键escbreak# 3.释放资源cap.release()cv2.destroyAllWindows()if __name__ == '__main__':mai...

opencv python:模板匹配【图】

模板匹配的算法:import cv2 as cv import numpy as np# 模板匹配,就是在整个图像区域发现与给定子图像匹配的小块区域, # 需要模板图像T和待检测图像-源图像S # 工作方法:在待检测的图像上,从左到右,从上倒下计算模板图像与重叠子图像匹配度, # 匹配度越大,两者相同的可能性越大。 def template_demo():tpl = cv.imread("../images/rabbit.jpg")target = cv.imread("../images/CrystalLiu22.jpg")cv.imshow("template", tpl...

opencv python:图形直方图 histogram【图】

直接用matplotlib画出直方图 def plot_demo(image):plt.hist(image.ravel(), 256, [0, 256]) # image.ravel()将图像展开,256为bins数量,[0, 256]为范围plt.show() 图像直方图 def image_hist(image):color = ('blue', 'green', 'red')for i, color in enumerate(color):# 计算出直方图,calcHist(images, channels, mask, histSize(有多少个bin), ranges[, hist[, accumulate]]) -> hist# hist 是一个 256x1 的数组,每一个值代...

使用opencv和python进行智能图像处理-(1.KNN)

出现ImportError: cannot import name add_newdocs的问题 原因:如果在ipython book中,import numpy时报这个错误,而spyder中却能正常使用,那么很有可能是使用了anaconda作为开发环境后却自己卸载了anaconda自带的numpy,并且用pip重新安装了一个。解决方法很简单,conda install numpy重新安装即可。 AttributeError: module 'numpy' has no attribute 'version' 这个错和上面同理,是在ipython book中,import pandas时报的错。...

python opencv人脸检测

安装opencvpip install opencv-python 人脸检测器的配置文件链接: https://pan.baidu.com/s/10Gd9ZR7kaNIQaQM2I6TKEA 提取码: vtrs 代码import cv2capture_index = 0def main():# 分类器haar = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')# 摄像头cap = cv2.VideoCapture(capture_index)# 读取while True:success, img = cap.read()if not success:continuefaces = haar.detectMultiScale(img)print("检测到人脸...

python&OpenCV学习笔记 day1——python基本学习

** python&OpenCV学习笔记 day1——python基本学习 ** 由于anaconda已经安装,所以我的python学习主要是在anaconda中的spyder编译器中进行学习。 spyder编译器 在学习中,遇到的困难首先就是python的安装: 1.对于我这样的小白来说,根本不知道python采用什么平台或者什么编译器。 2.同时,在学习opencv的过程中看到了该平台的教程,能够使用python语言并且有opencv接入,所以采用了该编译器。 下载安装配置完成后,开始python基础编...

Python 6.给图片添加边框(重复,复制,纯色等) OpenCV【图】

import cv2 import numpy as np from matplotlib import pyplot as plt BLUE = [255, 0, 0] img1 = cv2.imread(pic1.png, 1) # change the value of bgr b, g, r = cv2.split(img1) img2 = cv2.merge([r, g, b]) img3 = cv2.merge([r, g, b]) img4 = cv2.merge([r, g, b]) img5 = cv2.merge([r, g, b]) # make one of bgr become 0 img3[:, :, 0] = 0 img4[:, :, 1] = 0 img5[:, :, 2] = 0 # make all kind of border replicate = ...

opencv python:ROI 与 泛洪填充【图】

提取ROI区域,处理然后放回去:泛洪填充 测试代码:显示一张图像,鼠标点击之后,会从该点开始进行填充,显示填充后的结果图像 注:二值图像的填充需要使用选项:cv2.FLOODFILL_MASK_ONLY 选项说明:cv2.FLOODFILL_FIXED_RANGE:改变图像,泛洪填充 cv2.FLOODFILL_MASK_ONLY:不改变图像,只填充遮罩层本身,忽略新的颜色值参数import cv2 import numpy as np# 读取一张图片 src = cv2.imread("../images/CrystalLiu2.jpg") # 命名...

python opencv:像素运算

以下运算两个图像的大小需要一样 cv2.add(img1, img2):两个图像像素相加 cv2.subtract(img1, img2):两个图像像素相减 cv2.multiply(img1, img2):两个图像像素相乘 cv2.divide(img1, img2):两个图像像素相除 cv2.mean(img):图像的均值 cv2.meanStdDev(img):方差

python-opencv-图像的按位运算【图】

OpenCV中为我们提供了四种按位运算,分别是按位与、按位或、按位非和按位异或。图像的按位运算本质上就是对像素点值的按位运算,接触过计算机知识的人应该知道,按位运算是针对二进制数而言的,也就是说只有0和1两个值,因此,我们在对图像进行按位运算时,需要将图像转化成灰度图。 假设现在我们有一张五环图像,我们要用它给其他图像做水印,但是它的底色是纯白色的,我们首先需要处理底色。 阈值二值化灰度图共分256(0~255)阶,...

OpenCV-Python 交互式前景提取使用GrabCut算法 | 三十五【代码】【图】

目标 在本章中,我们将看到GrabCut算法来提取图像中的前景 我们将为此创建一个交互式应用程序。理论 GrabCut算法由英国微软研究院的Carsten Rother,Vladimir Kolmogorov和Andrew Blake设计。在他们的论文“GrabCut”中:使用迭代图割的交互式前景提取。需要用最少的用户交互进行前景提取的算法,结果是GrabCut。 从用户角度来看,它是如何工作的?最初,用户在前景区域周围绘制一个矩形(前景区域应完全位于矩形内部)。然后,算法...

OpenCV-Python 图像分割与Watershed算法 | 三十四【代码】【图】

目标 在本章中,我们将学习使用分水岭算法实现基于标记的图像分割 我们将看到:cv.watershed()理论 任何灰度图像都可以看作是一个地形表面,其中高强度表示山峰,低强度表示山谷。你开始用不同颜色的水(标签)填充每个孤立的山谷(局部最小值)。随着水位的上升,根据附近的山峰(坡度),来自不同山谷的水明显会开始合并,颜色也不同。为了避免这种情况,你要在水融合的地方建造屏障。你继续填满水,建造障碍,直到所有的山峰都在水下。...

OPENCV - 相关标签