[典藏]Ubuntu16.04+Anconda(4.2.0)+python(3.5.2)+opencv(3.2.0)+opencv-python(3.2.0)

7 篇文章 0 订阅
1 篇文章 0 订阅

解决:

error                                     Traceback (most recent call last)
<ipython-input-2-0bd8b2a9cff9> in <module>()
      3 import numpy as np
      4 img = cv2.imread("/1.jpg", cv2.IMREAD_GRAYSCALE)
----> 5 cv2.imshow("image", img)
      6 #cv2.waitKey(0)
      7 #cv2.destroyAllWindows()

error: /io/opencv/modules/highgui/src/window.cpp:304: error: (-215) size.width>0 && size.height>0 in function imshow
 cv2.imshow("Canvas", canvas)
cv2.error: OpenCV(3.4.1) /opt/conda/conda-bld/opencv-suite_1530789967746/work/modules/highgui/src/window.cpp:636: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvShowImage

重要问题是: 

Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvShowImage
果断的解决问题是:正确安装下列软件:

1.opencv3.2.0

2.opencv-python3.2.0

1.opencv3.2.0

(1)   从官网(http://opencv.org/downloads.html)下载Opencv,并将其解压到你要安装的位置,假设解压到了/home/opencv。

unzip opencv-3.2.0.zip

sudo cp ./opencv-3.2.0 /home/username

sudo mv opencv-3.2.0 opencv

(2)   安装前准备,创建编译文件夹

cd ~/opencv

mkdir build

cd build

(3)   配置

sudo apt install cmake

sudo cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..

(4)   编译

sudo make -j8 (-j8表示并行计算,根据自己电脑的配置进行设置,配置比较低的电脑可以将数字改小或不使用,直接输make)

(5)   安装

以上只是将opencv编译成功,还没将opencv安装,需要运行下面指令进行安装:

sudo make install


查看opencv版本
    pkg-config --modversion opencv
    【3.2.0】

2.opencv-python

(1)    conda install -c https://conda.anaconda.org/menpo opencv3

3.测试opencv可用

import cv2
img = cv2.imread('banner.jpg')
cv2.imshow('w', img)
cv2.waitKey(0)

4.opencv与python之间图像的读入与显示

(1)读入图像\显示图像以及保存图像

import cv2

img=cv2.imread('child.jpg',cv2.IMREAD_COLOR)
cv2.namedWindow('child',cv2.WINDOW_AUTOSIZE)
cv2.imshow('lena',img)
k=cv2.waitKey(0)

if k==27:
    cv2.destroyAllWindows()
    plt.close()
elif k==ord('s'):
    cv2.imwrite('lenagray.png',img)
    cv2.destroyAllWindows()

(2)matplotlib显示图像

import cv2
from matplotlib import pyplot as plt
img=cv2.imread('lena.jpg',cv2.IMREAD_COLOR)
plt.imshow(img)
plt.show()

 注意:opencv的像素是BGR顺序,然而matplotlib所遵循的是RGB顺序。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值