微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OpenCV绘制轮廓Jupyter Notebook

如何解决OpenCV绘制轮廓Jupyter Notebook

我从Jupyter Notebook运行以下代码

import cv2 as cv
contours,hierarchy = cv.findContours(im,cv.RETR_TREE,cv.CHAIN_APPROX_SIMPLE)
cnt = contours[4]
cv.drawContours(im,contours,2,(0,230,255),6)
# Show the image with contours
cv.imshow('Contours',im)
cv.waitKey(0)

(im是二进制图像) 运行此命令后,Jupyter Kernel死亡。我应该改变什么?

解决方法

所以这是一种解决方法。 TL; DR:您需要使用im = cv.drawContours(im,contours,2,(0,230,255),6)保存绘制的轮廓,并使用im = np.expand_dims(im,axis=2).repeat(3,axis=2)才能绘制彩色轮廓。 以下代码在im上绘制所有轮廓,并使用matplotlib进行显示:

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
#im an H X W array.
contours,hierarchy = cv.findContours(im,cv.RETR_TREE,cv.CHAIN_APPROX_SIMPLE)
im = np.expand_dims(im,axis=2) 
for k,_ in enumerate(contours):
    im = cv.drawContours(im,k,6)
plt.imshow(im)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。