Computer VIsion1

发布于:2025-04-04 ⋅ 阅读:(24) ⋅ 点赞:(0)

图像的组成原理

什么是Image

Definiton: a visible impression obtained by a camera, telescope, microscope, or other device, or displayed on a computer or video screen

Binary Images

通过二进制组成的图像,每个像素点用0或1组成

在这里插入图片描述

Color Space

看作为三层(channel)的叠加——红、绿、蓝(rgb

在这里插入图片描述

  • Black:(0,0,0)
  • White:(255,255,255)
HSL and HSV

在这里插入图片描述

OpenCV的基本使用

图像读取

OpenCV默认以BGR的形式进行读取数据,因此在绘制读取的图像时,要进行通道的转化

img = cv2.imread('pic1.jpg')  ## BGR顺序
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)  ## 转化为RGB
plt.imshow(img)
plt.show()

在这里插入图片描述

可以看到,打印img的维度时,显示的是三个通道

print(type(img))
print(img.shape)

在这里插入图片描述

转化为灰色图像

img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(img_gray, cmap='gray')

在这里插入图片描述

此时,再次将灰色图像的维度进行打印,则只有一个通道

print(img_gray.shape)

在这里插入图片描述

转化为HSV和HLS格式

## 转化为hsv和hsl
img_hsv= cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
img_hls = cv2.cvtColor(img, cv2.COLOR_BGR2HLS)

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(20,20))
ax1.imshow(img_hsv)
ax2.imshow(img_hls)
plt.show()

在这里插入图片描述

思考——转化为不同的图像格式有什么意义

对于某些任务,可能对特定的颜色的识别更敏感

例如:车道轨迹检测,对白色的车道线非常敏感

而不同的图像色彩格式,对不同的颜色的突出不同,因此要根据人物的需求对图像进行相应的转化

绘制

矩形的绘制
## 画矩形
# pt1--坐标1  pt2--坐标2  color--颜色   thickness--线条宽度
cv2.rectangle(img_rgb, pt1=(400, 100), pt2=(300, 200), color=(255,0,0), thickness=5)
plt.imshow(img_rgb)

在这里插入图片描述

圆形的绘制
### 画圆圈
# center--圆形原点   radius--半径
cv2.circle(img_rgb, center=(500, 500), radius=50, color=(0, 0, 255), thickness=5)
plt.imshow(img_rgb)

在这里插入图片描述

添加文本
### 增加文本
# text--文本内容   org--文本开始的坐标  fontFace--字体  fontScale--字体大小
cv2.putText(img_rgb, text="Nan Jing", org=(600, 200), fontFace=cv2.FONT_HERSHEY_DUPLEX, fontScale=2, color=(0, 255, 0), thickness=10)
plt.imshow(img_rgb)

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到