在博学谷上过一下计算机视觉的基本概念和原理,直接上图。
文章目录
CV基础概念
RGB三原色模式
HSV
计算机显示模式:24bite模式
重点问题回答
1.彩色图片的一个的像素点是怎么表示的?
2.如何用opencv中表示点、线和图片?
- 一个点
- 一条线
- 一张图片
灰度图像有什么用
opencv基础代码实操
1.使用opencv实现简单图片生成
cv2.imwrite(filename, img) #保存后的名称, 需要保存的图像
import numpy as np
import cv2
#1.实例化
img_list = [
[[0,0,255], [0,0,255]],
[[0,255,0], [0,255,0]],
[[255,0,0], [255,0,0]],
]
#opencv的颜色通道为BGR
#2.将列表转换成数组
img_array = np.array(img_list)
#3.保存图片
cv2.imwrite("opencv/BGR.png", img_array)
#显示图片
cv2.imshow("opencv/BGR.png")
运行结果:
因为写入的只有6个像素块,所以图像特别小,这已经是放大后的效果。
2.使用opencv实现简单的图片信息读取
import cv2
#1.读取图片
src = cv2.imread("opencv/BGR.png")
#2.打印出图像的像素信息
print(src)
#3.打印出图像的维度信息
print(src.shape)
运行结果:
其中,照片的维度信息src.shape
,(3, 2, 3)
是指,高度为3个像素,宽为2个像素,3通道。
3.将图像转换为灰度图像
import cv2
RGB_img = cv2.imread("opencv/194.jpg")
#将BGR图像转换为灰度图像
GRAY_img = cv2.cvtColor(RGB_img, cv2.COLOR_BGR2GRAY)
print(GRAY_img)
print(GRAY_img.shape)
运行结果: