python画函数图像时在某一点无意义_Python 用 Opencv 绘制 点线以及图像显示

在之前的文章中我们介绍了如何Opencv对机读卡进行识别,

在这篇文章介绍一下Opencv的一些基础操作,如何显示图像,

如何利用 Opencv 绘制点与线,以及某些特殊的图形。

一、安装 Opencv

pip install opencv-python

如何读取图片并显示

import cv2

image = cv2.imread('./default.jpg', cv2.IMREAD_UNCHANGED)

cv2.namedWindow("image");

# cv2.resizeWindow("image", 800, 800);

cv2.imshow("image", image)

cv2.waitKey(5000) # 显示 5000 ms 即 5s 后消失 (0一直显示)

cv2.destroyAllWindows()

二、绘制圆(circle)

利用 opencv 自带的 circle() 函数,绘制一个点为圆心特定半径的圆,

当圆的半径特别小的时候,即为点(特殊的圆),

其函数的声明如下:

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

参数含义:

img:要画的圆所在的矩形或图像

center:圆心坐标,如 (100, 100)

radius:半径,如 10

color:圆边框颜色,如 (0, 0, 255) 红色,BGR

thickness:正值表示圆边框宽度,负值表示画一个填充圆形

lineType:圆边框线型,可为 0,4,8

shift:圆心坐标和半径的小数点位数

使用示例:

from random import randint

import numpy

import cv2

image = numpy.zeros((480, 720, 3), numpy.uint8) #生成一个空灰度图像

point_color = (0, 0, 255) # BGR

# 要画的点的坐标

points_list = [(90, 155), (351, 404), (637, 329), (720, 135), (359, 368), (705, 358), (217, 477), (263, 19)]

for point in points_list:

# 画直线,圆心为:point,半径为:1,颜色为:point_color,实心线,线粗:4

cv2.circle(image, point, 1, point_color, 4)

# 画圆,圆心为:(160, 240),半径为:60,颜色为:point_color,实心线,线粗:2

cv2.circle(image, (160, 240), 60, point_color, 2)

5f2a76bd9fd7b.jpg

二、绘制直线(line)

使用 line() 函数绘制直线 并显示,其函数声明如下:

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

参数含义:

img:要画的圆所在的矩形或图像

pt1:直线起点

pt2:直线终点

color:线条颜色,如 (0, 0, 255) 红色,BGR

thickness:线条宽度

lineType:

8 (or omitted) : 8-connected line

4:4-connected line

CV_AA - antialiased line

shift:坐标点小数点位数

使用示例:

from random import randint

import numpy

import cv2

image = numpy.zeros((480, 720, 3), numpy.uint8) #生成一个空灰度图像

point_color = (0, 0, 255) # BGR

# 画直线,起点为:(0,0),终点为:(480,720),颜色为:point_color,实心线,线粗:2

cv2.line(image, (0,0), (720,480), point_color, 2)

# 要画的线的坐标

points_list = [(90, 155), (351, 404), (637, 329), (720, 135), (359, 368), (705, 358), (217, 477), (263, 19)]

for x in range(4):

# 画直线,起点为:points_list[x*2],终点为:points_list[x*2+1],颜色为:point_color,实心线,线粗:2

cv2.line(image, points_list[x*2], points_list[x*2+1], point_color, 2)

5f2a7928bb3f0.jpg

二、绘制直线(rectangle)

使用 rectangle() 函数绘制矩形 并显示,其函数声明如下:

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

参数含义:

img:要画的圆所在的矩形或图像

pt1:矩形左上角的点

pt2:矩形右下角的点

color:线条颜色,如 (0, 0, 255) 红色,BGR

thickness:线条宽度

lineType:

8 (or omitted) : 8-connected line

4:4-connected line

CV_AA - antialiased line

shift:坐标点小数点位数

使用示例:

from random import randint

import numpy

import cv2

image = numpy.zeros((480, 720, 3), numpy.uint8) #生成一个空灰度图像

point_color = (0, 0, 255) # BGR

# 画矩形,左上角为:(0,0),右下角为:(480,720),颜色为:point_color,实心线,线粗:2

cv2.rectangle(image, (0,0), (720,480), point_color, 2)

# 要画的线的坐标

points_list = [(90, 155), (351, 404), (637, 329), (720, 135), (359, 368), (705, 358), (217, 477), (263, 19)]

for x in range(4):

# 画矩形,左上角为:points_list[x*2],右下角为:points_list[x*2+1],颜色为:point_color,实心线,线粗:2

cv2.rectangle(image, points_list[x*2], points_list[x*2+1], point_color, 2)

5f2a7bbeb0e90.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用OpenCV可以通过以下步骤绘制圆角矩形: 1. 导入OpenCV库:`import cv2` 2. 创建一个空白图像:`img = np.zeros((height, width, 3), np.uint8)` 3. 定义矩形的四个角的坐标:`(x, y)`,`(x+width, y)`,`(x+width, y+height)`,`(x, y+height)` 4. 定义圆角的半径:`radius` 5. 使用`cv2.line()`函数绘制矩形的四条线段,使用`cv2.circle()`函数绘制四个圆弧 6. 返回绘制好的图像 下面是一个绘制圆角矩形的示例代码: ``` python import cv2 import numpy as np def rounded_rectangle(img, pt1, pt2, radius, color, thickness): x1, y1 = pt1 x2, y2 = pt2 cv2.rectangle(img, (x1 + radius, y1), (x2 - radius, y2), color, thickness) cv2.rectangle(img, (x1, y1 + radius), (x2, y2 - radius), color, thickness) cv2.circle(img, (x1+radius, y1+radius), radius, color, thickness) cv2.circle(img, (x2-radius, y1+radius), radius, color, thickness) cv2.circle(img, (x1+radius, y2-radius), radius, color, thickness) cv2.circle(img, (x2-radius, y2-radius), radius, color, thickness) # 创建一个空白图像 img = np.zeros((400, 400, 3), np.uint8) # 绘制圆角矩形 pt1 = (50, 50) pt2 = (350, 350) radius = 30 color = (255, 0, 0) thickness = 5 rounded_rectangle(img, pt1, pt2, radius, color, thickness) # 显示图像 cv2.imshow('image', img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在这个示例中,我们使用`rounded_rectangle()`函数绘制了一个圆角矩形。函数的参数包括图像、矩形的两个对角、圆角半径、颜色和线条粗细。最终的结果将在窗口中显示

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值