当前位置: 首页 > news >正文

做政府邀请函网站是哪个/手机百度app安装下载

做政府邀请函网站是哪个,手机百度app安装下载,wordpress怎么备份数据库,网站开发前如何配置电脑OpenCV入门(四)快速学会OpenCV3画基本图形 1.画点 在OpenCV中,点分为2D平面中的点和3D平面中的点,区别就是3D中点多了一个z坐标。我们首先介绍2D中的点,坐标为整数的点可以直接用(x, y)代替,其中x是横坐标…

OpenCV入门(四)快速学会OpenCV3画基本图形

1.画点

在OpenCV中,点分为2D平面中的点和3D平面中的点,区别就是3D中点多了一个z坐标。我们首先介绍2D中的点,坐标为整数的点可以直接用(x, y)代替,其中x是横坐标、y是纵坐标。

比如定义一个点:

     pt=(100,200) #横坐标x=100,纵坐标y=200

画图时如果需要用到点,就可以直接用(x,y)作为参数代入。

比如有一个点的列表:

    # 要画的点的坐标points_list = [(160, 160), (136, 160), (150, 200), (200, 180), (120, 150), (145,
180)]

2.画矩形

全局函数rectangle用来通过对角线上的两个顶点绘制矩形,函数声明如下:

     cv.rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]] ) cv.rectangle(img, rec, color[, thickness[, lineType[, shift]]] ) 

其中,参数
img表示矩形所在的图像;
pt1表示矩形的一个顶点;
pt2表示矩形对角线上的另一个顶点;
color表示线条颜色(BGR)或亮度(灰度图像,grayscale image);
thickness表示组成矩形的线条的粗细程度,取负值时(如CV_FILLED)函数绘制填充了色彩的矩形;line_type表示线条的类型;shift表示坐标点的小数点位数。

     import cv2 as cvimg = cv.imread("test.jpg")img1=cv.rectangle(img,(10,10),(30,40),(255,0,0),2)cv.imwrite("res.jpg",img1)#保存图片cv.imshow("res", img1)cv.waitKey(0)

在上述代码中,我们首先读取test.jpg,然后调用画矩形函数rectangle绘制一个矩形,其中点(10,10)是左上角顶点、点(30,40)是右下角顶点。颜色值是(255,0,0),是BGR形式,即蓝色分量值是255,因此显示的是蓝色。组成矩形的线条的粗细值是2。

画完后,我们保存到同目录下的res.jpg文件。

运行工程,结果如图所示。可以看到,窗口左上角的地方有一个蓝色边框的矩形。

****

3.画圆

全局函数circle用来绘制或填充一个给定圆心和半径的圆,函数声明如下:

     cv.circle(img, center, radius, color[, thickness[, lineType[, shift]]])

其中,参数
img表示输入的图像(圆画在这个图像上);
center表示圆心坐标;radius表示圆的半径;
color表示圆的颜色,是BGR形式,例如蓝色为Scalar(255,0,0);
thickness如果是正数就表示组成圆的线条的粗细程度,否则表示圆是否被填充;
lineType表示线的类型;
shift表示圆心坐标点和半径值的小数点位数。

import numpy as np
import cv2 as cvimg = cv.imread("test.jpg")
point_size = 10
point_color = (0, 0, 255) # BGR
thickness = -1  # 要画的点的坐标
points_list = [(16, 16),  (35, 40) ]for point in points_list:cv.circle(img, point, point_size, point_color, thickness)thickness = 4# 画圆,圆心为:(60, 60),半径为:60,颜色为:point_color,实心线
cv.circle(img, (60, 60), 60, point_color, 0)cv.namedWindow("image")
cv.imshow('image', img)
cv.waitKey (10000) # 显示 10000 ms 即 10s 后消失
cv.destroyAllWindows()

首先读取图片test.jpg,然后在for循环中,第一次画实心圆(thickness是-1),第二次画空心圆(thickness是4),并且组成圆的线条的粗细程度是4。接着画一个半径是60的圆。

所有圆都是在图片test.jpg上画的。

运行工程,结果如图所示。

在这里插入图片描述

4.画椭圆

函数ellipse用来绘制或者填充一个简单的椭圆弧或椭圆扇形。圆弧被ROI矩形所忽略,反走样弧线和粗弧线使用线性分段近似值,所有的角都以角度的形式给定。

该函数声明如下:

    Ellipse(img, center, axes, angle, start_angle, end_angle, color, thickness=1,
lineType=8, shift=0) 

其中,参数
img表示输入的图像(圆画在这个图像上);
center表示椭圆圆心坐标;
axes表示轴的长度;
angle表示偏转的角度;
start_angle表示圆弧起始角的角度;
end_angle表示圆弧终结角的角度;
color表示线条的颜色;
thickness表示线条的粗细程度;
line_type表示线条的类型;
shift表示圆心坐标点和数轴的精度。

下面看一个实例,绘制丰田车标。丰田车标是由3个椭圆组成的:两个横着,一个竖着。

import numpy as np
import cv2 as cvimg = cv.imread("test.jpg")
points_list = [ (45, 45),  (45, 45),(45, 32) ]
size_list = [ (40, 25),  (25, 11),(28, 12) ]
color = (0, 0, 255) # BGR#绘制第一个椭圆,大椭圆,颜色为红色
cv.ellipse(img, points_list[0],size_list[0], 0, 0, 360, color, 5, 8);
#绘制第二个椭圆,竖椭圆	
cv.ellipse(img,points_list[1], size_list[1], 90, 0, 360, color, 5, 8);
#绘制第三个椭圆,小椭圆(横)	
cv.ellipse(img, points_list[2],size_list[2], 0, 0, 360, color, 5, 8);	
cv.imshow("丰田", img);
cv.waitKey (10000) # 显示 10000 ms 即 10s 后消失

代码很简单,调用ellipse函数画3个椭圆。

运行工程,结果如图所示。
在这里插入图片描述

画圆和画椭圆的联合作战:

import numpy as np
import cv2 as cvWINDOW_WIDTH=200    #定义窗口大小def DrawFi1ledCirc1e(img,center ):thickness = -1lineType = 8color = (0, 0, 255) # BGRcv.circle(img, center,  WINDOW_WIDTH//32, color, thickness, lineType)def DrawEllipse(  img,   angle):thickness = 2;lineType = 8;color = (255, 129, 0) # BGRpt=(WINDOW_WIDTH // 2, WINDOW_WIDTH // 2)size = (WINDOW_WIDTH // 4, WINDOW_WIDTH // 16)cv.ellipse(img, pt,size, angle, 0, 360,color,thickness, lineType)h=WINDOW_WIDTH
w=WINDOW_WIDTH
atomImage=np.zeros((h, w, 3), np.int8)rookImage=np.zeros((h, w, 3), np.int8)
#绘制椭圆
DrawEllipse(atomImage, 90);
DrawEllipse(atomImage, 0);
DrawEllipse(atomImage, 45);
DrawEllipse(atomImage, -45);#绘制圆心
DrawFi1ledCirc1e(atomImage,(WINDOW_WIDTH // 2,WINDOW_WIDTH // 2));cv.imshow("result", atomImage);
cv.waitKey(0);

代码很简单,画了4个椭圆和一个实心圆,实心圆画在所有椭圆的圆心,也就是圆和4个椭圆的圆心是重合的。运行工程,结果如图所示。
在这里插入图片描述

5.画线段

在OpenCV中,函数line用来实现画线段,函数声明如下:

    line(img, pt1, pt2, color[, thickness[, lineType[, shift]]])

其中,参数
img表示输入的图像(圆画在这个图像上);
pt1表示线段的起始点;
pt2表示线段的结束点;
color表示线段颜色;
thickness表示线段粗细;
lineType表示线段类型;
shift表示点坐标中的小数位数。

6.画多边形

在OpenCV中,函数polylines用来画多边形,函数声明如下:

     polylines(img, pts, isClosed, color[, thickness[, lineType[, shift]]])

其中,参数
img表示输入的图像;
pts表示多边形点集;
isClosed表示绘制的多段线是否闭合,如果是闭合的,那么函数将从每条曲线的最后一个顶点到其第一个顶点绘制一条直线;
color表示多边形颜色;
thickness表示多段线边的厚度;
lineType表示线段类型;
shift表示点坐标中的小数位数。

画一个多边形:

import cv2
import numpy as npimg = cv2.imread("test.jpg")
Pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
cv2.polylines(img,[Pts],True,(0,0,255),2)
cv2.imshow("res", img); 
cv2.waitKey(0);

首先读取test.jpg,然后定义一个点集数组Pts,接着调用polylines绘制多边形,最后显示出来。
在这里插入图片描述

7.填充多边形

在OpenCV中,除了绘制多边形之外,还可以填充多边形。函数fillPoly用来填充多边形,函数声明如下:

     fillPoly(img, pts, color[, lineType[, shift[, offset]]])

其中,参数
img表示输入的图像;
pts表示多边形点集;
color表示多边形颜色;
lineType表示线段类型;
shift表示点坐标中的小数位数;
offset表示等高线所有点的偏移。

import numpy as np
import cv2 as cva = cv.imread("test.jpg")
triangle = np.array([ [10,30], [40,80], [10,90] ], np.int32)
cv.fillPoly(a, [triangle],(255,0,0))
cv.imshow("result", a)
cv.waitKey(0)

代码中,“[10,30],[40,80],[10,90]”为要填充的轮廓坐标,通过函数fillPoly填充多边形,填充的颜色是蓝色。

如图所示:
在这里插入图片描述

相关文章:

OpenCV入门(四)快速学会OpenCV3画基本图形

OpenCV入门(四)快速学会OpenCV3画基本图形 1.画点 在OpenCV中,点分为2D平面中的点和3D平面中的点,区别就是3D中点多了一个z坐标。我们首先介绍2D中的点,坐标为整数的点可以直接用(x, y)代替,其中x是横坐标…...

【MAC OS 命令行】Redis的安装、启动和停止。就是如此简单

目录Mac 安装 Redis使用 Homebrew 安装 Redis总结Mac 安装 Redis 使用 Homebrew 安装 Redis 如果没有安装 Homebrew,先安装 Homebrew 执行命令: 方法一、brew 官网的安装脚本 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homeb…...

Leetecode 661. 图片平滑器

图像平滑器 是大小为 3 x 3 的过滤器,用于对图像的每个单元格平滑处理,平滑处理后单元格的值为该单元格的平均灰度。 每个单元格的 平均灰度 定义为:该单元格自身及其周围的 8 个单元格的平均值,结果需向下取整。(即&…...

剑指 Offer II 020. 回文子字符串的个数

题目链接 剑指 Offer II 020. 回文子字符串的个数 mid 题目描述 给定一个字符串 s,请计算这个字符串中有多少个回文子字符串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 示例 1: 输入…...

Python实现多键字典

实现背景 在许多场景中,有时需要通过多种信息来获取某个特定的值,而各种编程语言(包括Python)使用的字典(Dict)数据结构通常只支持单个键值寻值key-val对,即“一对一”(一个键对应一…...

【python socket】实现websocket服务端

一、获取握手信息首先通过如下代码,我们使用socket来获取客户端的握手信息import socketsock socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.bind(("127.0.0.1", 8002)) sock.li…...

PANGO的CFG那些事

先来看位于VCCIOCFG这个bank上引脚, MODE JTAG时,MODExxx. except 3’b000. 禁止设置为3’b000. Slave Parallel时,MODE 3’b110,不常用。 Slave Serial时,MODE 3’b111,不常用。 Master SPI 时&…...

路由协议(OSPF、ISIS、BGP)实验配置

目录 OSPF基础实验 建立OSPF邻居 配置虚连接 配置接口的网络类型 配置特殊区域 配置路由选路 配置路由过滤 ISIS基础实验配置 配置ISIS邻居建立 配置认证 配置路由扩散 配置路由过滤 配置定时器 BGP基础实验配置 建立BGP对等体 建立IBGP对等体 建立EBGP对等体…...

Python可变对象与不可变对象的浅拷贝与深拷贝

前言 本文主要介绍了python中容易面临的考试点和犯错点,即浅拷贝与深拷贝 首先,针对Python中的可变对象来说,例如列表,我们可以通过以下方式进行浅拷贝和深拷贝操作: import copya [1, 2, 3, 4, [a, b]]b a …...

滑模控制(Sliding mode control)快速入门

0. 简介 最近作者受到邀请,让我帮忙给刚入门的学弟讲讲滑模控制。可是作者也不知道怎么向未入门的学弟讲解这些基础知识,所以作者翻了翻近几年写的很好的文章以及视频。综合起来,来总结出一套比较基础,且适用于初学者的文章吧。这…...

golang的垃圾回收详解

golang的垃圾回收详解 一、三色标记法 作为一门现代化的语言,golang与java一样,都在语言中内置了垃圾回收的功能,不需要程序员自己去回收堆内存。而垃圾回收中,最重要的两个部分就是垃圾检测算法以及垃圾回收算法。垃圾检测算法决…...

线上负载过高排查(top/vmstat/ifstat/free/df)

目录 一、五大命令 二、故障排查步骤 1、top命令找出CPU占比最高的 2、ps -ef 或者 jps -l进一步定位 3、ps -mp位到具体线程或者代码 4、jstack精准定位到错误的地方 本文通过学习:周阳老师-尚硅谷Java大厂面试题第二季 总结的LinuxJDK命令操作相关的笔记 一…...

Java的注解(Annotation)

Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 中的类、构造器、方法、成员变量、参数等都可以被注解进行标注。例如JUnit单元测试中的Test方法,可以使得方法直接运行。JUnit单元测试Test单元测试是针…...

信息系统项目管理师:配置管理

配置管理指的是在一个系统或软件中对配置项的管理,包括对配置项的定义、存储、跟踪和修改等一系列活动。配置项可以是硬件设备、软件组件、系统设置、网络配置等,配置管理旨在确保在不同时间点或环境下系统或软件的配置项的正确性和一致性。通过配置管理…...

web餐饮开源程序

简介 一款专门针对餐饮行业而开发桌面应用程序 技术 借助Panuon.UI.Silver控件库,开发的一款餐饮软件。 运行环境:.NETFramework,Versionv4.8。 运行数据库:MySql。 ORM框架:SqlSugar。 第三方插件:Panuon.UI.Silv…...

28个案例问题分析---027---单表的11个Update接口--MyBatis

一:背景介绍 项目开发中。我们使用的是MyBatis,在MyBatis的xml文件里,两个表的更新功能,写了足足11个更新接口,毫无复用的思想 这种方式可以正常的实现功能,但是没有复用,无论是从时间上还是维…...

大数据开发治理平台 DataWorks

序言学习下阿里DataWorks的设计理念以及要做的事情cuiyaonan2000163.com参考文档:https://www.aliyun.com/product/bigdata/idehttps://help.aliyun.com/document_detail/73015.htmlhttps://help.aliyun.com/document_detail/324149.html ----数据治理LaunchDataWorks基于阿里云…...

Xshell的下载、使用、配置【ssh、telnet、串口】

目录 一、概述 二、Xshell的使用  2.1 Xshell使用ssh协议远程连接Linux主机或服务器  2.2 Xshell使用telnet协议远程连接Linux开发板  2.3 Xshell使用SERIAL协议远程连接Linux开发板 三、Xshell常用配置  3.1 配置默认会话属性 一、概述 Xshell是由NetSarang公司开发的强大…...

C++回顾(七)—— 面向对象模型

7.1 静态成员变量和静态成员函数 7.1.1 静态成员变量 关键字 static 可以用于说明一个类的成员;静态成员提供了一个同类对象的共享机制;把一个类的成员说明为 static 时,这个类无论有多少个对象被创建,这些对象共享这个 static …...

开源监控服务uptime-kuma

好久没写文章了,刚好最近用了一个开源的监控服务,感觉蛮有意思的,记录一下 (一)安装 uptime-kuma安装方式有几种,这里当然是选择大家都爱的docker,一条命令搞定 docker run -d --restartalways -p 3001:…...

JavaScript混淆技术:了解其核心原理和常用手段

当今互联网时代,JavaScript已经成为了web前端开发的重点技术之一。其中,JavaScript代码的安全性问题一直是关注的焦点。为了保护JavaScript代码的安全性,很多人对其进行加密处理,众所周知,对于单纯的加密算法&#xff…...

大型医院云HIS系统:采用前后端分离架构,前端由Angular语言、JavaScript开发;后端使用Java语言开发 融合B/S版电子病历系统

一套医院云his系统源码 采用前后端分离架构,前端由Angular语言、JavaScript开发;后端使用Java语言开发。融合B/S版电子病历系统,支持电子病历四级,HIS与电子病历系统均拥有自主知识产权。 文末卡片获取联系! 基于云计…...

SAP UI5 Upload/Download file through NetWeaver Gateway

1、创建 SEGW对象 2、创建Entity Type 要把Media 标识打上 3、 激活对象然后到DPC Class的扩展对象里面重定义 /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_STREAM /IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_STREAM /IWBEP/IF_MGW_APPL_SRV_RUNTIME~UPDATE_STREAM METHOD /iwbep/if_m…...

opencv校正图像

目录1、前言2、例程2.1、代码2.2、效果口罩说明书网页3、按步骤分析转灰度图降噪 Canny边缘检测膨胀(可视具体情况省略)轮廓检索选取角度1、前言 我们用相机拍照时,会因为角度问题造成拍歪,会影响图像的识别,这时就需…...

JavaScript:函数与箭头函数的区别

ref 1. 定义 函数 function getName() {}箭头函数 const getName () > {}2. 命名 函数分为匿名、具名。 function getName() {} let getName function () {}箭头函数只有匿名。 const getName () > {}3. 构造函数 箭头函数都是匿名函数,所以不能作为构造…...

八股文(四)

目录 一、 Vue2的双向数据绑定原理 二、 vue2数据绑定缺点是什么?vue3是怎么解决的? (1)因为vue2.0 object.defineProperty只能劫持对象属性 (2)Proxy是直接代理对象 (3)proxy不…...

XSS挑战赛(xsslabs)1~10关通关解析

简介 XSS挑战赛,里面包含了各种XSS的防御方式和绕过方式,好好掌握里面的绕过细节,有助于我们更好的去发现XSS漏洞以及XSS的防御。本文更多的是分享解析的细节,不是一个标准的答案,希望大家在渗透的时候有更多的思维。…...

什么是以太网供电POE

POE指的是以太网供电,就是一根网线在传输网络的同时还传输设备所需的电源。我们最常见的就是通过POE交换机连接网络摄像头,网络摄像头无需的电源适配器,仅靠一根网线就能实现电源和网络的传输。POE供电一般可以到100米。POE包含两个部分&…...

【JUC2022】第七章 AQS、ReentrantReadWriteLock 和 StampedLock

【JUC2022】第七章 AQS 文章目录【JUC2022】第七章 AQS一、AQS1.概述2.同步器3.抽象的4.队列式二、ReentrantReadWriteLock1.概述2.案例3.存在的问题三、StampedLock1.概述2.案例3.存在的问题一、AQS 1.概述 AQS(AbstractQueueSynchronizer,抽象的队列式同步器)&am…...

Spark 磁盘作用

Spark 磁盘作用磁盘作用性能价值失败重试ReuseExchangeSpark 导航 磁盘作用 临时文件、中间文件、缓存数据,都会存储到 spark.local.dir 中 在 Shuffle Map 时, 当内存空间不足,就会溢出临时文件存储到磁盘上溢出的临时文件一起做归并计算…...