我正在尝试使用阈值来分割颜色。但这并不是行不通。我如何分割这张图片中的红色和绿色。
感谢
使用 Kmeans 之后的图像
使用阈值分割后的该图像
我的代码
import numpy as np
import cv2
img = cv2.imread('watermelon.jpg')
Z = img.reshape((-1,3))
# convert to np.float32
Z = np.float32(Z)
# define criteria, number of clusters(K) and apply kmeans()
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0)
K = 4
ret,label,center=cv2.kmeans(Z,K, criteria,10,cv2.KMEANS_RANDOM_CENTERS)
# Now convert back into uint8, and make original image
center = np.uint8(center)
res = center[label.flatten()]
res2 = res.reshape((img.shape))
gray = cv2.cvtColor(res2,cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray,0,255,cv2.THRESH_BINARY_INV+cv2.THRESH_OTSU)
#segmentation
gray = cv2.cvtColor(res2,cv2.COLOR_BGR2GRAY)
ret, threshseg = …Run Code Online (Sandbox Code Playgroud) 我发现问题无法解决。尝试导入时出现此错误 numpy
import cv2
import numpy as np
img=cv2.imread('image.jpg',1)
cv2.imshow('image', img)
cv2.waitkey()
cv2.destroyAllWwindows()
Run Code Online (Sandbox Code Playgroud)
当我运行属性imread不起作用时
cv2.error: OpenCV(3.4.1) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:636: error: (-2) 函数没有实现。使用 Windows、GTK+ 2.x 或 Carbon 支持重建库。如果您使用的是 Ubuntu 或 Debian,请安装 libgtk2.0-dev 和 pkg-config,然后重新运行 cmake 或在函数 cvShowImage 中配置脚本
请帮忙,Python版本3.6
OpenCV 版本 :3.4.1
matplotlib 版本 : 2.2.2