【课题总结】OpenCV 抠图项目实战(11)算法实验平台
Python 小白的課題報告—OpenCV 摳圖項目實戰(11)摳圖算法實驗平臺
本系列是 Python 小白的課題作業《基于OpenCV 的圖像分割和摳圖》。
需要說明的是,本系列并不能算是 OpenCV 的摳圖項目教程,只是以此為主題的課題報告。其中包括了一個較為完整的 PyQt 項目。
從學生課題作業報告的角度,還是可以曬出來給大家參考的。
歡迎關注『Python 小白的項目實戰 @ youcans』 原創作品
Python 小白的課題報告—OpenCV 摳圖項目實戰(1)目錄摘要
Python 小白的課題報告—OpenCV 摳圖項目實戰(2)摳圖緒論
Python 小白的課題報告—OpenCV 摳圖項目實戰(3)摳圖綜述
Python 小白的課題報告—OpenCV 摳圖項目實戰(4)固定閾值摳圖
Python 小白的課題報告—OpenCV 摳圖項目實戰(5)自適應閾值摳圖
Python 小白的課題報告—OpenCV 摳圖項目實戰(6)色彩范圍摳圖
Python 小白的課題報告—OpenCV 摳圖項目實戰(7)邊緣檢測
Python 小白的課題報告—OpenCV 摳圖項目實戰(8)圖像輪廓
Python 小白的課題報告—OpenCV 摳圖項目實戰(9)評價指標
Python 小白的課題報告—OpenCV 摳圖項目實戰(10)PyQt5 使用
Python 小白的課題報告—OpenCV 摳圖項目實戰(11)算法實驗平臺
Python 小白的課題報告—OpenCV 摳圖項目實戰(12)源程序代碼
第六章 基于 PyQt5 的摳圖算法實驗平臺
6.2 摳圖算法實驗平臺的設計與實現
基于 PyQt5 開發一個摳圖算法實驗平臺軟件,該平臺也是數字圖像處理仿真平臺軟件的組成部分。
6.2.1 摳圖算法實驗平臺的設計方案
摳圖算法實驗平臺由主界面和若干個子界面構成,采取自頂向下的設計方法,包括以下功能模塊:
- 文件處理模塊:導入、導出數據文件和圖像;
- 算法選擇模塊:選擇不同的摳圖算法;
- 算法實現模塊:實現不同的摳圖算法;
- 系統模塊:系統設置,幫助和退出。
每個子界面相互獨立,分別實現一種摳圖算法。本實驗平臺目前已經實現固定閾值摳圖、自適應閾值摳圖、HSV顏色范圍摳圖、邊緣檢測、輪廓查找、圖像分割等功能。在該平臺上,可以方便地添加新的算法。
實驗平臺的設計框圖如下圖所示。
圖6.7 摳圖算法實驗平臺的設計摳圖
6.2.2 摳圖算法實驗平臺的UI設計
摳圖算法實驗平臺的UI實現步驟如下:
1. 使用QT Designer設計圖形界面,生成 .ui 文件
(1)如圖8所示,創建主窗口 “MainWindow”,新建菜單欄和工具欄。
向菜單欄和工具欄添加動作對象:“打開”、“保存”、“關閉”、“設置”、“幫助”、“退出”。
(2)如圖9所示,在主窗口的左側創建兩個容器布局。
- 左側上部容器為垂直布局的按鈕控件區域 leftLayout_1,設有多個按鈕控件,用于選擇不同的業務;
- 左側下部容器為垂直布局的文本區域 leftLayout_2,設有單行和多行文本編輯框,用于在運行中顯示提示信息。
(3)將圖形窗口右側的主體區域設計為多窗口切換的堆疊布局 “Stacked Widget”,用于設計多個切換界面,以適應不同的業務場景。
- 在控件的右上角顯示有一對黑色三角符號,可以在多個頁面之間切換,也可以在 “對象查看器” 中選擇要編輯的頁面。
堆疊布局 “Stacked Widget” 中各頁面的設計,具體設計內容是根據業務需要確定的。 - page_0 的設計:如圖10所示,標簽控件label用于顯示封面圖片,按鈕控件 pushButton 用于控制翻頁或自定義動作。
- page_1 的設計:如圖11所示,上方標簽控件 label_1、label_2 用于顯示主要圖像,下方標簽控件 label_3~6用于顯示次要圖像,次要圖像下方設有按鈕控件,可以放大瀏覽對應的圖像,也可以定義為其它功能。
- page_2 的設計:預留設計窗口,可以按照業務場景進行設計布局。
(4)如圖12所示,建立信號與槽函數的連接:
- 對菜單欄和工具欄動作對象建立信號與槽函數連接,如:動作actionQuit觸發控件MainWindow 的內置函數close(),動作actionOpen 觸發自定義槽函數trigger_actOpen();
- 對左側按鈕控件區域的算法選擇按鈕建立信號與槽函數的連接。槽函數是對應的算法程序,如click_pushButton_1(self) 為固定閾值摳圖算法子程序。
- 對堆疊布局中的控件建立信號與槽函數的連接。
2. 使用PyUIC 將設計界面.ui文件轉換為.py文件,以便 Python 主程序調用。
在數字圖像處理仿真平臺軟件中也使用了類似的GUI結構框架。但由于數字圖像處理內容很多,采用章節結構進行算法選擇。如圖 13所示,按鈕控件區域使用樹結構控件 “treeWidget” 實現目錄結構的折疊側邊欄。
圖6.8 創建主窗口、菜單欄和工具欄
圖6.9 創建容器布局和選擇按鈕
圖6.10 創建堆疊布局和切換窗口
圖6.11 窗口控件的設計和實現
圖6.12 建立信號與槽函數的連接
圖6.13 數字圖像處理仿真平臺的用戶界面
【本節完】
版權聲明:
本節內容,主要來自:Image Matting 客觀評價指標、數據集及主觀評價(https://blog.csdn.net/Mao_Jonah/article/details/113646709)
歡迎關注『Python 小白的項目實戰 @ youcans』 原創作品
原創作品,轉載必須標注原文鏈接:https://blog.csdn.net/youcans/article/details/122390351
Copyright 2022 youcans, XUPT
Crated:2022-01-09
歡迎關注『Python 小白的項目實戰 @ youcans』 原創作品
Python 小白的課題報告—OpenCV 摳圖項目實戰(1)目錄摘要
Python 小白的課題報告—OpenCV 摳圖項目實戰(2)摳圖緒論
Python 小白的課題報告—OpenCV 摳圖項目實戰(3)摳圖綜述
Python 小白的課題報告—OpenCV 摳圖項目實戰(4)固定閾值摳圖
Python 小白的課題報告—OpenCV 摳圖項目實戰(5)自適應閾值摳圖
Python 小白的課題報告—OpenCV 摳圖項目實戰(6)色彩范圍摳圖
Python 小白的課題報告—OpenCV 摳圖項目實戰(7)邊緣檢測
Python 小白的課題報告—OpenCV 摳圖項目實戰(8)圖像輪廓
Python 小白的課題報告—OpenCV 摳圖項目實戰(9)評價指標
Python 小白的課題報告—OpenCV 摳圖項目實戰(10)PyQt5 使用
Python 小白的課題報告—OpenCV 摳圖項目實戰(11)算法實驗平臺
Python 小白的課題報告—OpenCV 摳圖項目實戰(12)源程序代碼
總結
以上是生活随笔為你收集整理的【课题总结】OpenCV 抠图项目实战(11)算法实验平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简述java在安卓开发中的应用_Java
- 下一篇: pcl通过积分图来进行法线预测