python opencv 在图片上画点
时间: 2023-11-09 18:11:15 浏览: 125
要在图片上画点,可以使用 OpenCV 中的 `cv2.circle()` 函数。该函数的语法如下:
```python
cv2.circle(img, center, radius, color, thickness)
```
其中,`img` 表示要进行绘制的图片,`center` 表示圆心坐标,`radius` 表示圆的半径,`color` 表示线条颜色,`thickness` 表示线条粗细。
以下是一个简单的例子,演示如何在图片上画一个红色的半径为 5 的圆:
```python
import cv2
# 读取图片
img = cv2.imread('example.jpg')
# 在图片上画一个红色的半径为 5 的圆
center = (100, 100)
radius = 5
color = (0, 0, 255)
thickness = -1 # 如果 thickness 的值为 -1,表示填充整个圆
cv2.circle(img, center, radius, color, thickness)
# 显示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
注意:在 OpenCV 中,图片的坐标系原点位于左上角,x 轴向右延伸,y 轴向下延伸。因此,圆心的坐标需要根据实际情况进行计算。
相关问题
python中opencv怎么在图片上画矩形
要在OpenCV中的图片上画矩形,可以使用cv2.rectangle()函数。该函数的参数包括:输入图像,矩形左上角顶点坐标,矩形右下角顶点坐标,矩形颜色和线宽。
下面是一个简单的示例代码:
```python
import cv2
# 读取图片
img = cv2.imread('example.jpg')
# 定义矩形左上角和右下角坐标
pt1 = (50, 50)
pt2 = (200, 200)
# 定义矩形颜色和线宽
color = (0, 255, 0) # 绿色
thickness = 2
# 在图片上画矩形
cv2.rectangle(img, pt1, pt2, color, thickness)
# 显示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行以上代码后,将在图片上画一个左上角坐标为(50,50),右下角坐标为(200,200)的矩形,并将结果显示出来。
python opencv将图片油画化
要实现图片油画化,可以使用OpenCV库的cv2.ximgproc模块中的stylization函数。下面是一个简单的代码示例:
```python
import cv2
img = cv2.imread('image.jpg')
# 将图像转换为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 进行油画化处理
dst = cv2.ximgproc.stylization(gray, sigma_s=60, sigma_r=0.07)
cv2.imshow('Original Image', img)
cv2.imshow('Oil Painting Style Image', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们首先读取了一张图片,并将其转换为灰度图。然后使用stylization函数对灰度图进行油画化处理。其中,sigma_s和sigma_r是两个控制油画风格的参数,可以根据需要进行调整。最后,使用imshow函数将原始图像和油画风格的图像显示出来。