图像处理与分析 -- 期末大作业
一、参考文章
1. 方法发想
(1) 掩膜进行位运算
(2) 使用 grabcut
(3) 边缘提取
(4) 轮廓检测 + 填充法
(5) 使用 HSV 颜色空间颜色区域提取的方法,提取出前景或者背景
Python 提取前景 - 单一颜色背景
python-opencv 边缘清洗法提取图片轮廓和前景内容
2. 掩膜进行位运算
1 | # 读取图像 |
(1) cv2.threshold () 函数
ret, dst = cv2.threshold (src, thresh, maxval, type)
ret: True 或 False,代表有没有读到图片
dst: 目标图像
src 是灰度图像
thresh 是起始阈值
maxval 是最大值
type 是定义如何处理数据与阈值的关系
threshold 函数的使用
CV2 简单阈值函数:cv2.threshold ()
Python 下 opencv 使用笔记(四)(图像的阈值处理)
(2) cv2.adaptivthreshold () 函数
(3) cv2.findContours () 函数
OpenCV 之颜色空间转换:cvtColor () 函数
opencv 学习(十六)之颜色空间转换 cvtColor ()
python-opencv2 利用 cv2.findContours () 函数来查找检测物体的轮廓
void cvtColor (InputArray src, OutputArray dst, int code, int dstCn=0)
OpenCV2 的 CV_前缀的宏命名规范,被 OpenCV3 中 COLOR_式的宏命名前缀所取代,另外,需要提醒的是 OpenCV 默认的图片通道存储顺序是 BGR, 而不是 RGB
(4) cv2.drawContours () 函数
cv2.drawContours (img_mask, contours, -1, (255, 255, 255), -1)
其中第一个参数 image 表示目标图像,
第二个参数 contours 表示输入的轮廓组,每一组轮廓由点 vector 构成,
第三个参数 contourIdx 指明画第几个轮廓,如果该参数为负值,则画全部轮廓,
第四个参数 color 为轮廓的颜色,
第五个参数 thickness 为轮廓的线宽,如果为负值或 CV_FILLED 表示填充轮廓内部,
(5) 小知识点
1 | s = 'one two one two one' |
numpy 库数组属性查看:类型、尺寸、形状、维度1
2
3import numpy as np
a1 = np.array ([1,2,3,4],dtype=np.complex128)
print (" 数组的维度数目 ",a1.ndim)
3.matlab
1 |