我想在我的图片中找到轮廓:
import cv2
import numpy as np
import matplotlib.pyplot as plt
import os, sys
OriginalImage = cv2.imread('test.png',0) # get the a gray-scale image
plt.figure(1)
plt.subplot(221),plt.imshow(OriginalImage,'gray')
GaussianImage = cv2.GaussianBlur(OriginalImage,(3,3),0)
plt.subplot(222),plt.imshow(GaussianImage,'gray')
ret,thrsh_GaussianImage = cv2.threshold(GaussianImage,50,255,cv2.THRESH_BINARY)
plt.subplot(223),plt.imshow(thrsh_GaussianImage,'gray')
plt.show()
im, contours, hierarchy = cv2.findContours(thrsh_GaussianImage,cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(thrsh_GaussianImage,contours,-1,(0,255,0),3)
cv2.imshow("j", im)
cv2.waitKey()
但问题是没有显示我的轮廓的最后一张图像。 我也删除了plt。显示...仍然没有显示任何东西。 如何显示轮廓?
我检查过以前的帖子......他们建议添加最后两行,但它仍然不适合我。
还有一件事就是在我的pycharm页面中 导入numpy为np 没有颜色为蓝色和灰色......它全是灰色......但是它有效。但我不知道为什么会这样!!
答案 0 :(得分:0)
这对我有用:
cv2.drawContours(thrsh_GaussianImage,contours,-1,(128,255,0),3)
如果你弄明白为什么,请发布它。我现在没时间玩它或研究它。