首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >OpenCV实验大师与DeepSeek加持,一个小时学会25个OpenCV工业案例开发

OpenCV实验大师与DeepSeek加持,一个小时学会25个OpenCV工业案例开发

作者头像
OpenCV学堂
发布2026-04-02 21:25:45
发布2026-04-02 21:25:45
860
举报
前提

首先安装好LM Studio 然后再安装好OpenCV实验大师工具软件,最后查看我的B站【DeepSeek + OpenCV】AI编程系列视频教程:

https://www.bilibili.com/video/BV1kYNUeVEe2/

https://www.bilibili.com/video/BV1ZGNCeHEAS/?

https://www.bilibili.com/video/BV1iAKFeYEt4/?

https://www.bilibili.com/video/BV1gFANeFE3H/?

OpenCV实验大师工具软件相关教程查看这里:

https://www.bilibili.com/video/BV1AXfYYXEcv/?

OpenCV实验大师工具软件下载地址:

https://appetjpz4tj8166.h5.xiaoeknow.com/p/course/ecourse/preview/course_2XtK2sEi7HNUwt2WscP6tFwxpIb?

有了上述两个开发工具以后我们只需要三步,就可以完成多数OpenCV算法开发跟PyQT界面集成应用开发。

OpenCV工作流代码生成

打开安装好的OpenCV实验大师工作流软件,显示如下

图片
图片

然打开【帮助】-》【项目案例】我们选择双击的第十三个模板匹配,然后点击右上角的【运行】按钮,效果如下:

图片
图片
图片
图片

点击工具栏【PDF导出图标】选择导出PDF,最后两页就是生成的Python代码与C++代码

图片
图片
图片
图片

DeepSeek生成PyQT5界面

以DeepSeek Coder Lite的14B 模型为例,直接输入下面的提示词:

使用pyqt5生成三个按钮,一个QLabel的界面,三个按钮在一同行,第一个按钮实现选择本地图像并显示到QLabel中,第二个按钮实现选择本地文本文件并打印文件路径,第三个按钮 名称为 运行,不实现任何功能。QLabel为固定大小800x600,图像按比率放缩居中显示在QLabel上。

生成好的代码如下:

代码语言:javascript
复制
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel, QFileDialog
from PyQt5.QtGui import QPixmap
from PyQt5.QtCore import Qt
class MyWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        # 设置窗口布局
        layout = QVBoxLayout()
        # 创建QLabel并设置固定大小
        self.label = QLabel()
        self.label.setFixedSize(800, 600)
        # 按钮布局
        button_layout = QHBoxLayout()
        # 第一个按钮:选择本地图像并显示到QLabel中
        self.btn1 = QPushButton('选择图像')
        self.btn1.clicked.connect(self.load_image)
        # 第二个按钮:选择本地文本文件并打印文件路径
        self.btn2 = QPushButton('选择文本文件')
        self.btn2.clicked.connect(self.select_text_file)
        # 第三个按钮:运行,不实现任何功能
        self.btn3 = QPushButton('运行')
        # 将按钮添加到布局中
        button_layout.addWidget(self.btn1)
        button_layout.addWidget(self.btn2)
        button_layout.addWidget(self.btn3)
        # 将QLabel和按钮布局添加到主布局中
        layout.addLayout(button_layout)
        layout.addWidget(self.label)
        self.setLayout(layout)
        self.setWindowTitle('图像显示示例')
        self.show()
    def load_image(self):
        # 打开文件对话框选择图片
        file_dialog = QFileDialog()
        file_path, _ = file_dialog.getOpenFileName(self, '选择图像', '', 'Images (*.png *.xpm *.jpg)')
        if file_path:
            pixmap = QPixmap(file_path)
            # 按比例缩放图片并居中显示
            scaled_pixmap = pixmap.scaled(800, 600, Qt.KeepAspectRatio | Qt.AlignCenter)
            self.label.setPixmap(scaled_pixmap)
    def select_text_file(self):
        # 打开文件对话框选择文本文件
        file_dialog = QFileDialog()
        file_path, _ = file_dialog.getOpenFileName(self, '选择文本文件', '', 'Text files (*.txt)')
        if file_path:
            print(f'选择的文本文件路径:{file_path}')
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyWindow()
    sys.exit(app.exec_())

直接运行,加载一张图像效果如下:

图片
图片

集成修改与测试运行

修改共有三个地方,第一个地方是修改选择text文件改为把.txt后缀名称改为.vm。第二个地方就是给运行按钮添加一个槽函数,然后在槽函数中添加代码来自OpenCV实验大师工具软件 PDF导出的代码,显示如下:

代码语言:javascript
复制
def run_workflow(self):
	persister = VMProjectPersister()
	model = ProjectDataModel()
	project_type = persister.query_project_type(self.vm_path)
	if project_type == 0:
		persister.load(model, self.vm_path)
print("exectue opencv workflow here......")
		log_txts = persister.silence_run_process(model, self.image_path)
		index = 0
		result_img = None
		for t in model.tasks:
			if isinstance(t, ImageProcessTask):
				result_img = t.get_output_image()
				index += 1
		if result_img is not None:
			h, w, ch = result_img.shape
			bytes_per_line = ch * w
			qt_image = QImage(result_img.data, w, h, bytes_per_line, QImage.Format_BGR888)
			pixmap = QPixmap.fromImage(qt_image)
			self.label.setPixmap(pixmap)

最终测试结果

图片
图片

对比OpenCV实验大师运行结果,发现完全一致。

图片
图片

每个开发者都可以学会的

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档