opencv7
1.绘制直方图
import cv2
import numpy as np
import matplotlib.pyplot as plt
image = cv2.imread("C:/Users/Lenovo/PycharmProjects/pythonProject3/IMG_0228.JPG", cv2.IMREAD_GRAYSCALE)
mask = np.zeros(image.shape, np.uint8)
mask[200:400, 200:400] = 255
histImage = cv2.calcHist([image], [0], None, [256], [0, 255])
histMI = cv2.calcHist([image], [0], mask, [256], [0, 255])
plt.plot(histImage)
plt.plot(histMI)
直方图均衡化
# ---------- 导入使用的模块-------
import cv2
import matplotlib.pyplot as plt
# -----------读取原始图像---------
img = cv2.imread("C:/Users/Lenovo/PycharmProjects/pythonProject3/IMG_0228.JPG", cv2.IMREAD_GRAYSCALE)
# ------------直方图均衡化处理--------
equ = cv2.equalizeHist(img)
# --------------显示均衡化前后的图像-------------
cv2.imshow("o", img)
cv2.imshow("r", equ)
# -----------均衡化前后直方图图像---------------
plt.figure("原始图像")
plt.hist(img.ravel(), 256)
plt.figure("结果")
plt.hist(equ.ravel(), 256)
cv2.waitKey()
cv2.destroyAllWindows()
2.傅里叶变换
为了将图像从空域转化到频域,并在频域内实现对图像内特定对象的处理,然后再进行逆傅里叶变换得到空域图像。
3.模板匹配
返回最相似部位的位置
4.霍夫变换
一种在图像中寻找直线、圆形以及其他简单形状的方法
霍夫直线变换,用于在直线中寻找直线,(cv2.HoughLines(), cv2.HoughLinesP())
霍夫圆变换用来在图像内寻找圆(cv2.HoughCircles()。
5.图像分割与提取
利用分水岭算法进行图像分割
使用GrabCut算法完成前景提取
6.支持向量机
是一种二分类模型,目标是寻找一个标准(超平面)对样本数据进行分割,分割的原则是确保分类最优化。
7.k均值聚类
聚类是一种监督学习,塔将具有相似属性的对象划分到同一集合中。