博主微信
cvxiayixiao
【Segment Anything Model】计算机视觉检测分割任务专栏。 链接
【公开数据集预处理】特别是医疗公开数据集的接受和预处理,提供代码讲解。链接
【opencv+图像处理】opencv代码库讲解,结合图像处理知识,不仅仅是调库。链接本专栏代码地址
https://github.com/xiawei20161308104/xv_opencv_tutorials
cv.line(),
cv.circle() ,
cv.rectangle(),
cv.ellipse(),
cv.putText()
cv.line()
函数用于绘制图像,首先有一个底图,在底图之上绘制直线,(0,0)为起始点,(511,511)为终止点,5为线宽
imshow()
函数用于显示图像,第一个参数是窗口的名称,第二个参数是要显示的图像。
waitKey(0)
函数用于等待用户按下任意键关闭图像窗口。
destroyAllWindows()
函数用于关闭所有打开的窗口
import numpy as np
import cv2 as cv
# 创建一个黑色图像
img = np.zeros((512,512,3), np.uint8)
# 在图像上绘制一条蓝色的对角线,线宽为5像素
cv.line(img,(0,0),(511,511),(255,0,0),5)
cv.imshow('Image', img)
cv.waitKey(0)
cv.destroyAllWindows()
在上图基础上绘制一个半径为100的圆,圆心为(256, 256),颜色为红色,线宽为2
第一个参数是图像。
第二个参数是圆心的坐标 (x, y)。
第三个参数是圆的半径。
第四个参数是颜色,以 (B, G, R) 的形式指定。
第五个参数是线宽,如果为负数,则表示填充整个圆
cv.circle(img, (256, 256), 100, (0, 0, 255), 2)
在cv.circle()函数中将线宽参数(thickness)设置为负值
# 绘制一个填充的圆,半径为100,圆心在(256, 256),颜色为蓝色
cv.circle(img, (256, 256), 100, (255, 0, 0), -1)
线宽参数(thickness)设置为-1,表示绘制填充的圆。 圆的半径为100,圆心位于(256, 256),填充颜色为蓝色((255,0, 0))。
多次调用cv.circle()函数,并为每个圆指定不同的参数
# 绘制多个实心圆与空心圆
import numpy as np
import cv2 as cv
# 创建一个黑色图像
img = np.zeros((512,512,3), np.uint8)
# 在图像上绘制一条蓝色的对角线,线宽为5像素
cv.line(img,(0,0),(511,511),(255,0,0),5)
cv.circle(img, (256, 256), 100, (0, 0, 255), 2)
cv.circle(img, (256, 256), 100, (255, 0, 0), -1)
cv.circle(img, (100, 100), 50, (255, 0, 0), 2)
cv.circle(img, (200, 200), 80, (0, 255, 0), -1)
cv.circle(img, (300, 300), 30, (0, 0, 255), -1)
cv.imshow('Image', img)
cv.waitKey(0)
cv.destroyAllWindows()
import numpy as np
import cv2 as cv
# 创建一个空白图像
img = np.zeros((512, 512, 3), np.uint8)
# 在图像上绘制一个矩形,左上角坐标为(100, 100),右下角坐标为(400, 300),颜色为绿色,线宽为2
cv.rectangle(img, (100, 100), (400, 300), (0, 255, 0), 2)
# 显示图像
cv.imshow('Image', img)
cv.waitKey(0)
cv.destroyAllWindows()
第一个参数是图像。
第二个参数是矩形的左上角坐标 (x1, y1)。
第三个参数是矩形的右下角坐标 (x2, y2)。
第四个参数是颜色,以 (B, G, R) 的形式指定。
第五个参数是线宽,如果为负数,则表示填充整个矩形。
import numpy as np
import cv2 as cv
# 画一个黑色背景
img = np.zeros((512, 512, 3), np.uint8)
# 画很多个矩形 -1是画一个实心的
cv.rectangle(img, (100, 100), (200, 200), (0, 255, 0), 2)
cv.rectangle(img, (300, 300), (400, 400), (0, 0, 255), -1)
cv.imshow('Image', img)
cv.waitKey(0)
cv.destroyAllWindows()