安装好jupyter notebook之后,我们希望能运行上自己的代码来亲自验证在数据挖掘上遇到的问题以及进行数据可视化的问题。但是呢,我们通常需要引入cv2这个库,于是我们import cv2,但是呢就发现有这样的问题,就是:ModuleNotFoundError:No Module named "cv2"

但是呢我们明明已经安装好了cv2,为什么就是用不了呢?我们试遍了网上和csdn的各种博客,但是不管怎么试就是不管用。那么就有可能是像我一样的问题,接下来我来帮大家检查和进行修正。

1.现在我们来检查一下自己的cv2确实是已经安装过了:

首先按键win+r,打开cmd(默认就是这个),回车,进入前两行所示的界面。

之后在c盘下(默认也是这个路径)输入python,得到这样的结果。

之后,输入如下的内容:import cv2

如果你的cv2安装成功的话,那么应该是这样的结果:

即,下一行什么都没有输出,只是三个右箭头一样的符号。如果出现任何情况的error都是不行的,需要先解决cv2的安装问题。

注意,一定要在这一步没问题之后再进行下一步,否则下一步根本做不了!

2.在jupyter notebook中检查kernel

打开自己的jupyter notebook,按照图片里的格式进行点击:

"正常"来讲的话,点击最下面的change kernel,只会有一个内容:python3,那说明你的问题基本上就是可以按照如下的方法来解决了。

3.查看自己的kernel

在命令窗口里,输入如下内容:jupyter kernelspec list

将得到如下图所示的结果:

注意,在解决这个问题的时候,你应该只看到一个kernel,即python3,下面的stm32你是看不见的,我这里用的是我成功之后的复现,所以显示的是两个~ 

算了,我还是把当初的图片找给你们看看吧,以便对照检查。

3.手动添加kernel

注意,现在开始,你的命令要到anaconda prompt里输入,不是命令行窗口!!!

输入如下命令:conda install ipykernel ,如图所示

后面还有一大堆显示正在安装的东西,不用管,等大概半分钟左右,在这个界面: 

 它会弹出一个问题:proceed ([y]/n)?

这里输入y即可。接下来,弹出这个界面:

 

出现三个done就表示成功了。

4.添加kernel

上面的内容做好之后,输入:python -m ipykernel install --name stm32 --display-name "stm32h7"

然后回车,应该得到下面的图:

到这里就完成了90%的任务。最后,我们将在jupyter notebook里导入cv2。

5.在jupyter notebook里导入cv2 

打开jupyter notebook,如图操作:

点击他(就是我们刚刚添加好的kernel),输入“import cv2” ,得到下图的结果:

发现没有报错,非常好,终于解决了我们的问题。

注意,这里我要强调,必须选择我们刚刚手动添加的kernel,才能成功导入cv2,否则的话,导入cv2还是会报错。

这个问题的原因在于,我用一个很不严谨,很不专业的说法就是,你将cv2安装到了一个指定的地方,却到另一个地方去用;好比你买了一袋小熊软糖回家,放进了客厅,之后你到卧室里,没找到你刚买回家的小熊糖,还觉得很奇怪,我不是已经买回家了吗,怎么用不了找不到了?

具体的详细原因我就不多讲了,因为这里的重点是让你把cv2能成功导入进去,而不是理论课。

如果不使用对应的kernel,就会出现下图的问题:

 如果一不小心选错了kernel,不要紧,选择菜单栏里的kernel(从右往左倒数第二个),选到正确的kernel即可。下图就是对上图的错误的纠正,可以发现,能够正常导入了。

最后,我们回到我们的主题,我们来试着在cv2的支持下进行一些数据的处理和展示

展示结果如下: 

这是代码。输出的out结果是: 

 后面还有一些结果,就不展示给大家了,可以自己选一张喜欢的图片尝试,也能得到类似的矩阵。完整的结果还是要自己动手做一做的,你说对吧?

希望我的分享能帮到你,同时也给自己备忘!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐