zoukankan      html  css  js  c++  java
  • pyqt5 图片识别

    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import QIcon
    import requests
    
    
    class fileDialogdemo(QWidget):
        def __init__(self, parent=None):
            super(fileDialogdemo, self).__init__(parent)
            # 垂直布局
            layout = QVBoxLayout()
            # 实例化QComBox对象
            self.cb = QComboBox(self)
            self.cb.addItems(['普通图片', '营业执照'])
            layout.addWidget(self.cb)
            self.cb.currentIndexChanged.connect(self.select)
    
            # 创建按钮,绑定自定义的槽函数,添加到布局中
            self.btn = QPushButton("加载图片")
            self.btn.clicked.connect(self.get_text)
            layout.addWidget(self.btn)
    
            # 实例化多行文本框,添加到布局
            self.contentsTop = QTextEdit()
            layout.addWidget(self.contentsTop)
    
            # 设置主窗口的布局及标题
            self.setLayout(layout)
            self.setWindowTitle('图片识别')
    
        def select(self, i):
            self.contentsTop.setText('')
            print('current index', i, 'selection changed', self.cb.currentText())
    
        def get_text(self):
            # 从C盘打开文件格式(*.jpg *.gif *.png *.jpeg)文件,返回路径
            image_file, _ = QFileDialog.getOpenFileName(self, 'Open file', r'C:UserszxsoftDesktop','Image files (*.jpg *.gif *.png *.jpeg)')
            if self.cb.currentText() == '营业执照':
                url_dis = "http://xx.xx.xx.xx:xx/xx"
                files = {'image_file': open(image_file, 'rb')}
                res = requests.post(url=url_dis, files=files)
            else:
                url_text = "http://xx.18.xx.xx:xx/xx/xx"
                files = {'image_file': (open(image_file, 'rb'))}
                res = requests.post(url=url_text, files=files)
            self.contentsTop.setText(res.text)
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        app.setWindowIcon(QIcon('logo.png'))
        ex = fileDialogdemo()
        ex.resize(400, 400)
        ex.show()
        sys.exit(app.exec_())
    import sys
    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    
    class fileDialogdemo(QWidget):
        def __init__(self,parent=None):
            super(fileDialogdemo, self).__init__(parent)
    
            #垂直布局
            layout=QVBoxLayout()
    
            #创建按钮,绑定自定义的槽函数,添加到布局中
            self.btn=QPushButton("加载图片")
            self.btn.clicked.connect(self.getimage)
            layout.addWidget(self.btn)
    
            #创建标签,添加到布局中
            self.le=QLabel('')
            layout.addWidget(self.le)
    
            #创建按钮,绑定自定义的槽函数,添加到布局
            self.btn1=QPushButton('加载文本文件')
            self.btn1.clicked.connect(self.getFiles)
            layout.addWidget(self.btn1)
    
            #实例化多行文本框,添加到布局
            self.contents=QTextEdit()
            layout.addWidget(self.contents)
    
            #设置主窗口的布局及标题
            self.setLayout(layout)
            self.setWindowTitle('File Dialog 例子')
    
        def getimage(self):
            #从C盘打开文件格式(*.jpg *.gif *.png *.jpeg)文件,返回路径
            image_file,_=QFileDialog.getOpenFileName(self,'Open file','C:\','Image files (*.jpg *.gif *.png *.jpeg)')
            #设置标签的图片
            self.le.setPixmap(QPixmap(image_file))
        def getFiles(self):
            #实例化QFileDialog
            dig=QFileDialog()
            #设置可以打开任何文件
            dig.setFileMode(QFileDialog.AnyFile)
            #文件过滤
            dig.setFilter(QDir.Files)
    
            if dig.exec_():
                #接受选中文件的路径,默认为列表
                filenames=dig.selectedFiles()
                #列表中的第一个元素即是文件路径,以只读的方式打开文件
                f=open(filenames[0],'r')
    
                with f:
                    #接受读取的内容,并显示到多行文本框中
                    data=f.read()
                    self.contents.setText(data)
    if __name__ == '__main__':
        app=QApplication(sys.argv)
        ex=fileDialogdemo()
        ex.show()
        sys.exit(app.exec_())

    http://www.iamdu.com/archives/11126

    故乡明
  • 相关阅读:
    同花顺黄金分割线及斐波那契数列分析网格(主图公式)
    走在城市计算的路上
    206. Reverse Linked List
    237. Delete Node in a Linked List
    876. Middle of the Linked List
    83. Remove Duplicates from Sorted List
    21. Merge Two Sorted List
    33. Search in Rotated Sorted Array
    852. Peak Index in a Mountain Array
    744. Find Smallest Letter Greater Than Target
  • 原文地址:https://www.cnblogs.com/luweiweicode/p/15357352.html
Copyright © 2011-2022 走看看