我正在尝试创建基于Web的前台提取服务(类似于clippingmagic.com)。
我正在使用基于标记的分水岭图像分割(opencv,python)。 我正在使用sketch.js来允许用户在图像上绘制标记。
我需要从我的PHP代码中调用python脚本。 以下是脚本需要执行的操作:
我在第2步遇到问题。
到目前为止,这是我的代码
#!/usr/bin/env python
import numpy as np
import cv2
from common import Sketcher
img_m = cv2.imread('1_m.jpg'); //my image which has colored marks on it
h, w = img.shape[:2]
markers = np.zeros((h, w), np.int32)
cv2.imshow("Image",img_m);
//trying to put '1' at all places where image is marked with color (179,230,29)
markers = np.where((img_m == [179,230,29]),1,0)
//trying to put '2' at all places where image is marked with color (238,27,34)
markers = np.where((img_m == [238,27,34]),2,0)
cv2.watershed(img, markers) //gives me error "markers should be 1-channel 32-bit image"
cv2.waitKey(50)
有人可以帮我这个吗?感谢。