[英]opencv-python: How to draw an image contour
我想在圖像中找到輪廓:
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的顏色不是藍色和灰色...都是灰色的...但是可以。 但是我不知道為什么會這樣!
這對我有用:
cv2.drawContours(thrsh_GaussianImage,contours,-1,(128,255,0),3)
如果您知道原因,請發布相關信息。 我現在沒有時間去嘗試或研究它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.