簡體   English   中英

opencv-python:如何繪制圖像輪廓

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM