Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在“以下”中标记轮廓;y轴“;通过数字opencv python?_Python_Opencv_Label_Opencv Contour - Fatal编程技术网

如何在“以下”中标记轮廓;y轴“;通过数字opencv python?

如何在“以下”中标记轮廓;y轴“;通过数字opencv python?,python,opencv,label,opencv-contour,Python,Opencv,Label,Opencv Contour,嗨,我已经为此工作了一段时间,但我还没有找到任何好的解决方案。 我的愿望是像这张图片一样标记此种子表的每个轮廓(我使用MS paint放置数字): 例如,如果我标记为编号1的种子被意外移除,则编号2仍然是编号2而不是编号1: 用于检测轮廓的代码: import cv2 import imutils import numpy as np img_color = cv2.imread('130634_F0.jpg') mask = np.zeros(shape = img_color.shape

嗨,我已经为此工作了一段时间,但我还没有找到任何好的解决方案。 我的愿望是像这张图片一样标记此种子表的每个轮廓(我使用MS paint放置数字):

例如,如果我标记为编号1的种子被意外移除,则编号2仍然是编号2而不是编号1:

用于检测轮廓的代码:

import cv2
import imutils
import numpy as np

img_color = cv2.imread('130634_F0.jpg')
mask = np.zeros(shape = img_color.shape, dtype = "uint8")

cv2.rectangle(img = mask, pt1=(124,56) , pt2= (557,418), color=(255, 255, 255), thickness= -1)
maskedImg = cv2.bitwise_and(src1= img_color, src2= mask)

img_gray = cv2.cvtColor(maskedImg, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(img_gray, (5, 5), 0)

thresh = cv2.threshold(blurred, 75, 255, cv2.THRESH_BINARY)[1]
thresh_copy = thresh.copy()
_contours = cv2.findContours(thresh_copy, cv2.RETR_EXTERNAL,
                                                       cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(_contours)
for c in cnts:
   M = cv2.moments(c)
   cX = int(M["m10"] / M["m00"])
   cY = int(M["m01"] / M["m00"])

   cv2.drawContours(maskedImg, [c], 0, (255, 0, 0), 1)  # blue
   cv2.circle(maskedImg, (cX, cY), 7, (255, 255, 255), -1)
print "# of Spur:", len(cnts)

cv2.imshow("contour", maskedImg)
cv2.waitKey()
非常感谢各位
任何想法都将不胜感激。! 这是原始图像:


helpppppp是否可以放置所需的结果图像?@AndreySmorodov所需的结果图像是人上方的第一张图片,第二张是原始图像OK,明白了。如果你将它放入一个数组中,然后你需要用X和Y将它们聚集在一起,然后你将得到每个blob的行和列。然后根据需要重新编制它们的索引。