网络营销导向企业网站建设的原则包括,网络营销培训,百度知道,做面包的网站参考#xff1a; https://zhuanlan.zhihu.com/p/523954762 https://docs.opencv.org/3.4/d8/d83/tutorial_py_grabcut.html
环境本次#xff1a; python 3.10 提取前景#xff1a; 1、需要先把前景物体框出来 需要坐标信息#xff0c;可以用windows自带的画图简单提取像素…参考 https://zhuanlan.zhihu.com/p/523954762 https://docs.opencv.org/3.4/d8/d83/tutorial_py_grabcut.html
环境本次 python 3.10 提取前景 1、需要先把前景物体框出来 需要坐标信息可以用windows自带的画图简单提取像素
矩形的格式为 (x, y, width, height)
rect (118, 120, 732, 835) 定义了一个矩形区域该区域用于初始化 GrabCut 算法。这个矩形区域的参数表示
118矩形左上角的 x 坐标。
120矩形左上角的 y 坐标。
732矩形的宽度。
835矩形的高度。
因此这个矩形从图像的坐标 (118, 120) 开始宽度为 732 像素高度为 835 像素。
2、完整代码
import cv2
import numpy as np
import matplotlib.pyplot as plt# 读取图像
image cv2.imread(rC:\Users***\long.png)# 创建一个与图像大小相同的掩码
mask np.zeros(image.shape[:2], np.uint8)# 创建两个数组用于存储算法内部使用的临时数组
bgdModel np.zeros((1, 65), np.float64)
fgdModel np.zeros((1, 65), np.float64)# 定义一个矩形区域该区域包含我们想要分割的前景物体
# 矩形的格式为 (x, y, width, height)
rect (118, 120, 732, 835)# 应用 GrabCut 算法
cv2.grabCut(image, mask, rect, bgdModel, fgdModel, 5, cv2.GC_INIT_WITH_RECT)# 创建一个新的掩码将可能的前景和确定的前景合并
mask2 np.where((mask 2) | (mask 0), 0, 1).astype(uint8)# 将掩码应用于图像
result image * mask2[:, :, np.newaxis]# 显示原始图像和分割结果
plt.subplot(121), plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.title(Original Image), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(cv2.cvtColor(result, cv2.COLOR_BGR2RGB))
plt.title(Segmented Image), plt.xticks([]), plt.yticks([])
plt.show()