大家好,今天我和大家一起来学习OPENCV。
首先是安装OPENCV。先win+cmd打开命令窗口输入
pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
进行下载安装,这里安装用的是清华镜像源,对于没有梯子的同学用这种办法安装速度较快。
在python中运行
import cv2
print(cv2.getVersionString())
image = cv2.imread("你的图片.jpg")
print(image.shape)
cv2.imshow("blue", image[:, :, 0])
cv2.imshow("green", image[:, :, 1])
cv2.imshow("red", image[:, :, 2])
cv2.waitKey()
打印opencv版本号
将图片分为三元色的灰度图并打印图片
import cv2
image = cv2.imread("你的图片.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("gray", gray)
cv2.waitKey()
打印灰度图
import cv2
import numpy as np
image = np.zeros([300, 300, 3], dtype=np.uint8)
cv2.line(image, (100, 200), (250, 250), (255, 0, 0), 2)
cv2.rectangle(image, (20, 100), (60, 150), (0, 255, 0), 2)
cv2.circle(image, (150, 100), 20, (0, 0, 255), 3)
cv2.putText(image, "hello", (100, 50), 0, 1, (255, 255, 255), 2, 1)
cv2.imshow("image", image)
cv2.waitKey()
画图,分别为画线条、方形、元、打印文字
参数为图片多维数组端点坐标、颜色(分别用三元色混合形成)、线宽、半径、字体型号
import cv2
image = cv2.imread("xuanli.jpg")
gauss = cv2.GaussianBlur(image, (5, 5), 0)
median = cv2.medianBlur(image, 5)
cv2.imshow("image", image)
cv2.imshow("gauss", gauss)
cv2.imshow("median", median)
cv2.waitKey()
这里是分别使用了高斯滤波器和中值滤波器对有复杂噪音的图片进行滤波。
CV2逐步学习-2:cv2.GaussianBlur()详解
import cv2
image = cv2.imread("你的图片.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
corners = cv2.goodFeaturesToTrack(gray, 500, 0.1, 10)
for corner in corners:
x, y = corner.ravel()
cv2.circle(image, (int(x), int(y)), 3, (255, 0, 255), -1)
cv2.imshow("corners", image)
cv2.waitKey()
这里是从灰度图中提取特征值,主要是线段拐点
参数为最多500个特征点,质量大于0.1,每个特征点距离大于10个像素点。