Python opencv之提取图像中有用信息

Python opencv之提取图像中有用信息

链接引用:https://www.kaggle.com/gaborvecsei/plant-seedlings-fun-with-computer-vision%20%E9%93%BE%E6%8E%A5%E5%BC%95%E7%94%A8

opencv是一个用于处理图像的库,他有python的接口。

首先导入opencv及各种其他库

%matplotlib inline
import cv2
import matplotlib
import matplotlib.pyplot as plt
import numpy as np

加载图片

image_add = r"C:\Users\Administrator\Desktop\blue.png"
image = cv2.imread(image_add, cv2.IMREAD_COLOR)

处理图片

#为图像生成一个mask
def mask_making(image):
    image_hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

    lower_hsv = np.array([0, 190, 0])
    upper_hsv = np.array([255, 255, 255])

    mask = cv2.inRange(image_hsv, lower_hsv, upper_hsv)
    kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (11,11))
    mask = cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel)

    return mask

#提取图像
def plant(image):
    mask = mask_making(image)
    output = cv2.bitwise_and(image, image, mask = mask)
    return output
image_mask = mask_making(image)
image_out = plant(image)
fig, axs = plt.subplots(1, 3, figsize=(20, 20))
axs[0].imshow(image)
axs[1].imshow(image_mask)
axs[2].imshow(image_out)

处理结果:
Python opencv之提取图像中有用信息_第1张图片

你可能感兴趣的:(机器学习实战)