笔者借鉴ubuntu16.04 在anaconda下配置python的openCV和openGL进行OpenCV和OpenGL的安装,结果只安装成功了OpenCV,安装OpenGL之后进行测试时,pycharm提示没有OpenGL这个模块.在经过摸索之后把自己的方法总结出来,仅供参考QAQ
第一步 安装OpenCV
1,激活环境,在终端输入:
source activate envname
envname是自己框架的名称,笔者的是tensorflow.即source activate tensorflow.
2,开始安装pyopencv:
conda install --channel https://conda.anaconda.org/menpo opencv3
3,至此pyopencv安装完成,可以进入pycharm粘贴以下代码进行测试:
from skimage.measure import compare_ssim
import cv2
class CompareImage():
def compare_image(self, path_image1, path_image2):
imageA = cv2.imread(path_image1)
imageB = cv2.imread(path_image2)
grayA = cv2.cvtColor(imageA, cv2.COLOR_BGR2GRAY)
grayB = cv2.cvtColor(imageB, cv2.COLOR_BGR2GRAY)
(score, diff) = compare_ssim(grayA, grayB, full=True)
print("SSIM: {}".format(score))
return score
compare_image = CompareImage()
compare_image.compare_image("1.jpeg", "2.jpeg")
程序参考自Python3通过OpenCV对比图片相似度
运行程序,出现如下结果即安装无误:
SSIM: 0.36310259059323124
第二步:安装OpenGL.
在此,提供三种方法:
方法一:
按照第一个链接中的方法试一下,如果成功,则恭喜你!
方法二:
重新打开终端:
1.安装PyOpenGL
pip install PyOpenGL
2.安装PyOpenGL-accelerate
pip install PyOpenGL-accelerate
安装完毕,输入以下代码(代码同方法一)测试:
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def drawFunc():
# 清楚之前画面
glClear(GL_COLOR_BUFFER_BIT)
glRotatef(0.1, 5, 5, 0)# (角度,x,y,z)
glutWireTeapot(0.5)
# 刷新显示
glFlush()
# 使用glut初始化OpenGL
glutInit(sys.argv)
# 显示模式:GLUT_SINGLE无缓冲直接显示|GLUT_RGBA采用RGB(A非alpha)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
# 窗口位置及大小-生成
glutInitWindowPosition(0, 0)
glutInitWindowSize(400, 400)
glutCreateWindow(b"first")
# 调用函数绘制图像
glutDisplayFunc(drawFunc)
glutIdleFunc(drawFunc)
# 主循环
glutMainLoop()
成功的话会出现下图:
补充:当我第一次装环境的时候采用方法二安装没有问题,后来由于某些原因必须得重装系统,然后安装opengl后进行测试时居然报错了.错误原因:“OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling”
后来查了一下资料,通过以下指令解决了
sudo apt-get install python-opengl
方法三:
进入pycharm,点击File->Settings…->Project Interpreter->点击右侧"+"号
在搜索框内输入opengl,会出现两个选项:pyopengl和pyopengl-accelerate.分别点击Install Package.
等待安装完成,重新执行测试程序.
若有问题,欢迎留言讨论~