1. 程式人生 > >python+opencv+opencv_contrib+Anaconda+pyqt+pycharm環境配置

python+opencv+opencv_contrib+Anaconda+pyqt+pycharm環境配置

安裝軟體

Anaconda3-5.2.0-Windows-x86_64

pycharm-professional-2018.1.4

然後新建一個conda的環境: 【opencv+pyqt】

如果通過conda直接查詢適合的opencv

版本是opencv3.3.1,並不是最新版本,且不含contrib模組

此時我們通過pip安裝我們想要的最新的opencv模組

點選【opencv+pyqt】環境的Open Termial

若此時直接輸入

pip install opencv-python
pip install opencv-contrib-python

此時得到的一定是最新的opencv版本,如果我們想換次新的,可以通過輸入錯誤的版本號,讓pip去提示都有什麼版本opencv

此時,我們就可以安裝,我們想要的任何一個版本了,通過程式碼,比如3.4.2.16最新版

pip install opencv-python==3.4.2.16
pip install opencv-contrib-python==3.4.2.16

opencv需要numpy環境,所以會伴隨著自動安裝

接下來安裝pyqt

我們需要使用qt中的designer去設計框架(當然也可以手敲程式碼佈局)

兩種方式:一種是通過pip安裝pyqt5-tools工具,但是本人嘗試後出錯【丟失api-ms-win-crt-runtime-l1-1-0.dll】,所以換另外一種方式,第二種,下載一個Qt,因為我們只是需要designer去設計而已,pycharm路徑設定為一個不會出錯的designer路徑即可,這裡我下載的是

qt-opensource-windows-x86-5.11.1這種有mingw的

如果你下載的是

qt-opensource-windows-x86-msvc2013_64-5.7.0,這種必須安裝有對應的VS,designer才可正常啟動

我們安裝好qt後,designer就確定下來了:C:\Qt\Qt5.11.1\5.11.1\mingw53_32\bin

接下來需要安裝pyqt

還是和前面一樣,如果用conda安裝,有固定的qt版本【qt=5.9.2】

我們可以用pip安裝自己想要的版本,還是一樣,輸入錯誤版本去讓pip提示

然後我們安裝最新的5.11.2

這裡它會伴隨著自動安裝【PyQt5-sip】,這是一種專為Python呼叫C/C++模組使用的,sip是RiverBank(也就是PyQt的開發商)開發的用於PyQt的Python/C++混合程式設計解決方案。

全部安裝完成後,我們開啟pycharm,新建一個專案,然後選擇python環境為我們建立的【opencv+pyqt】

新建工程,然後新建一個main.py

然後配置pyqt的快捷環境,流程如下:

1.開啟Pycharm,進入設定,新增外部工具

2.新增QtDesigner,exe的路徑在安裝目錄下C:\Qt\Qt5.11.1\5.11.1\mingw53_32\bin\designer.exe

Program:   C:\Qt\Qt5.11.1\5.11.1\mingw53_32\bin\designer.exe

Arguments:   $FileDir$\$FileName$

Work directory:   $FileDir$

3.設定“PyUIC5” -- 這個主要是用來將 Qt介面 轉換成 py程式碼

Program:   D:\ProgramData\Anaconda3\envs\opencv+pyqt\Scripts\pyuic5.exe

Arguments:   $FileName$ -o $FileNameWithoutExtension$.py

Work directory:   $FileDir$

4.設定“PyRCC5” -- 如果你用到了資原始檔,資原始檔需要用pyrcc5.exe轉碼

Program:   D:\ProgramData\Anaconda3\envs\opencv+pyqt\Scripts\pyuic5.exe

Arguments:   $FileName$ -o $FileNameWithoutExtension$.py

Work directory:   $FileDir$

配置完環境後,點選快捷方式 QtDesigner

我們選擇新建窗體

然後就可以拖拽控制元件了,我們拖拽一個按鈕控制元件,給他加槽後,通過pyuci5把設計檔案變成py檔案,

介面需要有類合併來支撐這個介面。用過Qt的應該知道。介面有了還需要一個類與介面合併,可以想像這個類相當於cpp和.h檔案,通俗點,我們需要有一個類繼承UI轉化出的這個untitled.py,並且實現槽函式

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'untitled'
#
# Created by: PyQt5 UI code generator 5.9.2
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(80, 80, 75, 23))
        self.pushButton.setObjectName("pushButton")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(50, 150, 481, 311))
        self.label.setObjectName("label")
        self.checkBox = QtWidgets.QCheckBox(self.centralwidget)
        self.checkBox.setGeometry(QtCore.QRect(350, 40, 71, 16))
        self.checkBox.setObjectName("checkBox")
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setGeometry(QtCore.QRect(460, 30, 141, 31))
        self.lineEdit.setObjectName("lineEdit")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        self.pushButton.clicked.connect(MainWindow.push)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton.setText(_translate("MainWindow", "PushButton"))
        self.label.setText(_translate("MainWindow", "TextLabel"))
        self.checkBox.setText(_translate("MainWindow", "CheckBox"))

from PyQt5.QtWidgets import QApplication, QMainWindow

from untitled import *
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtWidgets import QFileDialog, QMessageBox, QDockWidget, QListWidget
from PyQt5.QtGui import *


import sys

import cv2
class Mywindow(QtWidgets.QMainWindow,Ui_MainWindow):

    def __init__(self):
        super(Mywindow, self).__init__()
        self.setupUi(self)

    def push(self):  #push(),也可以理解為過載類Ui_MainWindow中的槽函式push()
        Im = cv2.imread('img1.jpg')  # 通過Opencv讀入一張圖片
        image_height, image_width, image_depth = Im.shape  # 獲取影象的高,寬以及深度。
        QIm = cv2.cvtColor(Im, cv2.COLOR_BGR2RGB)  # opencv讀圖片是BGR,qt顯示要RGB,所以需要轉換一下
        QIm = QImage(QIm.data, image_width, image_height,  # 建立QImage格式的影象,並讀入影象資訊
                     image_width * image_depth,
                     QImage.Format_RGB888)
        self.label.setPixmap(QPixmap.fromImage(QIm))  # 將QImage顯示在之前建立的QLabel控制元件中

    def mouseMoveEvent(self, event):
        # 預設情況下,只有按下滑鼠鍵移動時,才會呼叫mouseMoveEvent()
        # 如果要處理視窗中滑鼠移動的事件,需要呼叫grabMouse()方法

        self.setMouseTracking(True)

        pointX = event.globalX()
        pointY = event.globalY()
        AA = QPoint(pointX,pointY)
        BB = self.mapFromGlobal(AA)  # mapFromGlobal(QPoint) - 將螢幕座標轉換成視窗座標;
        # 除了上述方法,計算出QT介面的(x,y),也可以直接通過 XY = event.pos() 獲取當前滑鼠在QT介面的座標
        resultX = BB.x()  # QPoint中返回x,y的值
        resultY = BB.y()
        print('(', resultX,',',resultY, ')')



import sys

from Mywindow import *

if __name__=='__main__':
    app = QtWidgets.QApplication(sys.argv)
    window = Mywindow()
    window.show()
    sys.exit(app.exec_())
 
import sys

from PyQt5.QtWidgets import QApplication, QMainWindow

from Demo import *
from main3 import *
if __name__=='__main__':
    app=QtWidgets.QApplication(sys.argv) #外部引數列表
    Form=Mywindow() #我就是要合體的類哦 如果是空的可以直接定義 QtWidgets.QDialog也是可以的,會讓新手很迷惑
    #ui=Ui_Dialog()  #啊啊啊,介面類也例項化了
    #ui.setupUi(Form) #我要合體了
    Form.show()      #合體後的成功展示嘍
    sys.exit(app.exec_()) #退出中使用的訊息迴圈,結束訊息迴圈時就退出程式

結果如下:

相關推薦

python+opencv+opencv_contrib+Anaconda+pyqt+pycharm環境配置

安裝軟體 Anaconda3-5.2.0-Windows-x86_64 pycharm-professional-2018.1.4 然後新建一個conda的環境: 【opencv+pyqt】 如果通過conda直接查詢適合的opencv 版本是opencv3

python pycharm環境配置

1.下載安裝pycharm 2.下載安裝anaconda 3.安裝opencv:https://www.lfd.uci.edu/~gohlke/pythonlibs/下載對應網址的opencv      根據自己電腦是64位還是32位,選擇對應的安裝包,後面的6

Python 安裝和 Pycharm 環境配置

一、Python 簡介 Python 是一個高層次的結合瞭解釋性、編譯性、互動性和麵向物件的指令碼語言。 Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。 Python 是一種解釋型語言: 這意

mac下pycharm環境配置(選擇要用的python版本,選擇系統中的python還是獨立環境python

pycharm提供了一個很好的機制,把依賴的環境封起來。這樣移植到其他電腦到時候就不會缺少這個那個庫的情況了。開啟偏好設定,如下圖步驟一,二。點2處的齒輪,選擇add。 出現下圖: 1處即上邊提到的“獨立環境” 2處是系統中的環境 3處是放直譯器的位置,如果提示非

ubuntu18.04+cmake+opencv+opencv_contrib+anaconda python原始碼編譯

網上很多部落格也寫了關於在Ubuntu18.04下用cmake編譯opencv+opencv_contrib+python原始碼的過程,只有自己動手做了以後才發現有很多的坑,因此將完整的過程寫下來交流交流,也借鑑了很多別人寫的部落格,在此表示感謝!下面正式開始! 我的系統是ubuntu18

Anaconda安裝及PyCharm環境配置

1. Anaconda下載根據自己的系統選擇下載32位還是64位。2. 進入下載目錄如果沒有修改的話,預設的下載目錄是在 /home/下載/下,Ctrl+Alt+T開啟終端,輸入 cd /home,然後

python呼叫opencv庫,使用pycharm環境

我這隻學術的小小隻白,竟然也開始寫部落格了。因為配置opencv的庫用了很長的時間,三天,遇到很多問題,一個個解決後,才決定分享出來,想要用pythont呼叫opencv庫的少走些彎路。寫這篇文章另一方面是收到淺墨——毛星雲的部落格的影響,淺墨博主,真的是無私的分享了自己的

python課程系列(一.2.1、Anaconda安裝、環境配置及使用)

Python環境安裝 目前Python有兩個大版本,分別是 2.X 和 3.X ,我們的教程基於最新版本 3.6.x 你可以通過終端視窗輸入 “python” 命令來檢視本地是否已經安裝Python以及Python的安裝版本。Windows作業系統進入終端方法:win鍵+R 輸

PyCharm 環境配置

get 自動 asterisk abs adt contents 設置 自己 sublime 1、去掉“自動保存功能” pycharm默認是自動保存的,習慣自己按 ctrl + s 的可以進行如下設置: 菜單File -> Settings... -> Appe

anacondapycharm環境交叉的現象

packages python3 全部 一個 ges lib conda 解決 健康 之前一直使用的是pycharm,使用pip來安裝依賴的模塊,但是自從安裝了anaconda之後,發現pip安裝的依賴總是在pycharm中報錯,很郁悶!!! 但是使用anaconda的sp

如何用Python做Web開發?——Django環境配置

事情 處理 即使 開發工具 都得 服務器 pkg 點擊 new 用Python做Web開發,Django框架是個非常好的起點。如何從零開始,配置好Django開發環境呢?本文帶你一步步無痛上手。 概念 最近有個詞兒很流行,叫做“全棧”(full sta

在mac上安裝python-opencv,並在pycharm測試

brew lib emp orm package 安裝 記錄 圖片路徑 usr 在網上找了一篇非常詳細的博客,感謝分享 博客地址:https://blog.csdn.net/miao_iamcat/article/details/74939521 第一步的命令中brew t

Win10環境下安裝 NVIDIA Cuda9.0 + 多環境Anaconda3-5.2.0 + PyTorch 0.4.1 GPU版本 + PyCharm環境配置

前提準備 1、電腦必須支援NVIDIA獨立顯示卡並且已經安裝獨顯驅動 (8G以下就不用考慮安裝了),如下圖所示 2、設定首選圖形處理器 在NVIDIA 控制面板中 -> 選擇管理 3D 設定 -> 全域性設定 -> 首選圖形處理器中選擇高效

最新版本OpenCV 3.1.0 beta環境配置

STEP ONE 開啟OpenCV官網 開啟Release 直接點選開啟,這個.exe就是一個自解壓程式 出現如下介面,選一下路徑 解壓中... 解壓完成後,指定的路徑下會有名為OpenCV的資料夾 build 支援OpenCV使用的

Python學習之Anaconda的使用及配置方法

俗話說‘人生苦短,我有Python’,但是如果初學Python的過程中碰到包和Python版本的問題估計會讓你再苦一會,我在學習Python的爬蟲框架中看到看到了anaconda的介紹,簡直是相見恨晚啊,我覺的每個Python的學習網站上首先都應該使用an

python學習(二)pycharm安裝配置

Python是支援視覺化程式設計,進行GUI開發庫有Tkinter、wxPython和 PyQt,前面兩個不說了,不支援向C#程式那麼方便的拖放控制元件程式設計,完全是盲人摸象,對我這種美感不強的人來說,簡直是致命的威脅,而pyqt4或者 pyqt5完美的解決了我這個困惑,

基於PCA的人臉識別系統(JAVA版)(一) OpenCV在JAVA上的環境配置

  這裡用的JDK 1.8和OpenCV3.2.0版本。後面會重點提到OpenCV的安裝配置和OpenCV在JAVA上的配置。 1.OpenCV的安裝配置                (1)下載安裝

【Tensorflow】Windows下基於Anaconda的Tensorflow環境配置

1. Anaconda下載安裝:https://www.continuum.io/downloads 版本為:Anaconda3,for windows,64bit(tensorflow在windows下只支援python 3.5以上、amd64) 2. Anaconda

vscode配置python擴充套件外掛,以及雙環境配置

1、外掛列表 2、setting.json檔案配置 使用者設定 { "window.zoomLevel": 0, "[python]": {}, "workbench

anacondapython環境配置

人在 -o ted rac 反饋 學會 video eba 運行 關鍵字:anaconda opencv3 yum反悔我在anaconda的python環境下嘗試運行catch_usb_video.py腳本(來源:http://www.cnblogs.com/neo-T/p