【发布时间】:2020-01-25 18:08:13
【问题描述】:
我正在尝试从here 运行示例
import cv2
def viewImage(image):
cv2.namedWindow('Display', cv2.WINDOW_NORMAL)
cv2.imshow('Display', image)
print('test')
cv2.waitKey(0)
cv2.destroyAllWindows()
def grayscale_17_levels (image):
high = 255
while(1):
low = high - 15
col_to_be_changed_low = np.array([low])
col_to_be_changed_high = np.array([high])
curr_mask = cv2.inRange(gray, col_to_be_changed_low,col_to_be_changed_high)
gray[curr_mask > 0] = (high)
high -= 15
if(low == 0 ):
break
image = cv2.imread('ombre_circle.png')
viewImage(image)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
grayscale_17_levels(gray)
viewImage(gray)
每当我运行代码时,我都会收到错误:
内核重启
main.ipynb 的内核似乎已经死了。它会自动重启。
当我注释掉这些行时:
#cv2.namedWindow('Display', cv2.WINDOW_NORMAL)
#cv2.imshow('Display', image)
核心运行并打印出“测试”,我没有收到错误。
我正在使用:
- Ubuntu-server 18.04
- Jupyter 实验室 1.1.3
- opencv-python 4.1.1.26
我在不在本地环境中的服务器上运行它
我通过使用 Matplotlib 显示这个问题找到了解决方法:
def viewImage(image):
plt.subplot(122)
plt.title("RGB")
plt.imshow(image)
plt.show()
image = cv2.imread('img/ombre_circle.png')
viewImage(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
grayscale_17_levels(gray)
viewImage3(cv2.cvtColor(gray, cv2.COLOR_GRAY2RGB))
但是这并不能解决问题并且需要额外的转换/代码,所以我想找到一个解决方案来用 opencv 显示。
X11 转发已启用。
我尝试使用 -Y 和 -C 标志 (via this question) 打开 SSH 连接,但这并不能解决问题。
任何想法可能是什么问题?
【问题讨论】:
标签: python opencv jupyter-notebook jupyter-lab