中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

怎么查看網(wǎng)站提交百度的度手機(jī)優(yōu)化助手下載

怎么查看網(wǎng)站提交百度的度,手機(jī)優(yōu)化助手下載,wordpress網(wǎng)頁,wordpress沒有https文章目錄 0 前言1 基于YOLO的火焰檢測(cè)與識(shí)別2 課題背景3 卷積神經(jīng)網(wǎng)絡(luò)3.1 卷積層3.2 池化層3.3 激活函數(shù):3.4 全連接層3.5 使用tensorflow中keras模塊實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò) 4 YOLOV54.1 網(wǎng)絡(luò)架構(gòu)圖4.2 輸入端4.3 基準(zhǔn)網(wǎng)絡(luò)4.4 Neck網(wǎng)絡(luò)4.5 Head輸出層 5 數(shù)據(jù)集準(zhǔn)備5.1 數(shù)…

文章目錄

  • 0 前言
  • 1 基于YOLO的火焰檢測(cè)與識(shí)別
  • 2 課題背景
  • 3 卷積神經(jīng)網(wǎng)絡(luò)
    • 3.1 卷積層
    • 3.2 池化層
    • 3.3 激活函數(shù):
    • 3.4 全連接層
    • 3.5 使用tensorflow中keras模塊實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)
  • 4 YOLOV5
    • 4.1 網(wǎng)絡(luò)架構(gòu)圖
    • 4.2 輸入端
    • 4.3 基準(zhǔn)網(wǎng)絡(luò)
    • 4.4 Neck網(wǎng)絡(luò)
    • 4.5 Head輸出層
  • 5 數(shù)據(jù)集準(zhǔn)備
    • 5.1 數(shù)據(jù)標(biāo)注簡(jiǎn)介
    • 5.2 數(shù)據(jù)保存
  • 6 模型訓(xùn)練
    • 6.1 修改數(shù)據(jù)配置文件
    • 6.2 修改模型配置文件
    • 6.3 開始訓(xùn)練模型
  • 7 實(shí)現(xiàn)效果
    • 7.1圖片效果
    • 7.2 視頻效果
    • 7.3 攝像頭實(shí)時(shí)效果
  • 8 最后

0 前言

🔥 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是

🚩 基于深度學(xué)習(xí)的火焰識(shí)別算法研究與實(shí)現(xiàn)

該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦!

🥇學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分)

  • 難度系數(shù):4分
  • 工作量:4分
  • 創(chuàng)新點(diǎn):3分

🧿 更多資料, 項(xiàng)目分享:

https://gitee.com/dancheng-senior/postgraduate


1 基于YOLO的火焰檢測(cè)與識(shí)別

學(xué)長(zhǎng)設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)效果如下,精度不錯(cuò)!

在這里插入圖片描述

在這里插入圖片描述

2 課題背景

火災(zāi)事故的頻發(fā)給社會(huì)造成不必要的財(cái)富損失以及人員傷亡,在當(dāng)今這個(gè)社會(huì)消防也是收到越來越多的注視?;馂?zāi)在發(fā)生初期是很容易控制的,因此,如何在對(duì)可能發(fā)生災(zāi)害的場(chǎng)所進(jìn)行有效監(jiān)控,使得潛在的損失危害降到最低是當(dāng)前研究的重點(diǎn)內(nèi)容。傳統(tǒng)的探測(cè)器有較大的局限性,感溫、感煙的探測(cè)器的探測(cè)靈敏度相對(duì)爭(zhēng)分奪秒的災(zāi)情控制來說有著時(shí)間上的不足,而且戶外場(chǎng)所的適用性大大降低。隨著計(jì)算機(jī)視覺的發(fā)展,基于深度學(xué)習(xí)的圖像處理技術(shù)已經(jīng)愈發(fā)成熟并且廣泛應(yīng)用在當(dāng)今社會(huì)的許多方面,其在人臉識(shí)別、安防、醫(yī)療、軍事等領(lǐng)域已經(jīng)有相當(dāng)一段時(shí)間的實(shí)際應(yīng)用,在其他領(lǐng)域也展現(xiàn)出跟廣闊的前景。利用深度學(xué)習(xí)圖像處理技術(shù)對(duì)火災(zāi)場(chǎng)景下火焰的特征學(xué)習(xí)、訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型自動(dòng)識(shí)別火焰,這項(xiàng)技術(shù)可以對(duì)具有監(jiān)控?cái)z像頭場(chǎng)景下的火災(zāi)火焰進(jìn)行自動(dòng)、快速、準(zhǔn)確識(shí)別并設(shè)置預(yù)警裝置,從而在火災(zāi)發(fā)生的初期及時(shí)響應(yīng),贏得更多的時(shí)間,把損失降到最低。

3 卷積神經(jīng)網(wǎng)絡(luò)

受到人類大腦神經(jīng)突觸結(jié)構(gòu)相互連接的模式啟發(fā),神經(jīng)網(wǎng)絡(luò)作為人工智能領(lǐng)域的重要組成部分,通過分布式的方法處理信息,可以解決復(fù)雜的非線性問題,從構(gòu)造方面來看,主要包括輸入層、隱藏層、輸出層三大組成結(jié)構(gòu)。每一個(gè)節(jié)點(diǎn)被稱為一個(gè)神經(jīng)元,存在著對(duì)應(yīng)的權(quán)重參數(shù),部分神經(jīng)元存在偏置,當(dāng)輸入數(shù)據(jù)x進(jìn)入后,對(duì)于經(jīng)過的神經(jīng)元都會(huì)進(jìn)行類似于:y=w*x+b的線性函數(shù)的計(jì)算,其中w為該位置神經(jīng)元的權(quán)值,b則為偏置函數(shù)。通過每一層神經(jīng)元的邏輯運(yùn)算,將結(jié)果輸入至最后一層的激活函數(shù),最后得到輸出output。

在這里插入圖片描述

3.1 卷積層

卷積核相當(dāng)于一個(gè)滑動(dòng)窗口,示意圖中3x3大小的卷積核依次劃過6x6大小的輸入數(shù)據(jù)中的對(duì)應(yīng)區(qū)域,并與卷積核滑過區(qū)域做矩陣點(diǎn)乘,將所得結(jié)果依次填入對(duì)應(yīng)位置即可得到右側(cè)4x4尺寸的卷積特征圖,例如劃到右上角3x3所圈區(qū)域時(shí),將進(jìn)行0x0+1x1+2x1+1x1+0x0+1x1+1x0+2x0x1x1=6的計(jì)算操作,并將得到的數(shù)值填充到卷積特征的右上角。

在這里插入圖片描述

3.2 池化層

池化操作又稱為降采樣,提取網(wǎng)絡(luò)主要特征可以在達(dá)到空間不變性的效果同時(shí),有效地減少網(wǎng)絡(luò)參數(shù),因而簡(jiǎn)化網(wǎng)絡(luò)計(jì)算復(fù)雜度,防止過擬合現(xiàn)象的出現(xiàn)。在實(shí)際操作中經(jīng)常使用最大池化或平均池化兩種方式,如下圖所示。雖然池化操作可以有效的降低參數(shù)數(shù)量,但過度池化也會(huì)導(dǎo)致一些圖片細(xì)節(jié)的丟失,因此在搭建網(wǎng)絡(luò)時(shí)要根據(jù)實(shí)際情況來調(diào)整池化操作。

在這里插入圖片描述

3.3 激活函數(shù):

激活函數(shù)大致分為兩種,在卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展前期,使用較為傳統(tǒng)的飽和激活函數(shù),主要包括sigmoid函數(shù)、tanh函數(shù)等;隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,研宄者們發(fā)現(xiàn)了飽和激活函數(shù)的弱點(diǎn),并針對(duì)其存在的潛在問題,研宄了非飽和激活函數(shù),其主要含有ReLU函數(shù)及其函數(shù)變體

3.4 全連接層

在整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)中起到“分類器”的作用,經(jīng)過前面卷積層、池化層、激活函數(shù)層之后,網(wǎng)絡(luò)己經(jīng)對(duì)輸入圖片的原始數(shù)據(jù)進(jìn)行特征提取,并將其映射到隱藏特征空間,全連接層將負(fù)責(zé)將學(xué)習(xí)到的特征從隱藏特征空間映射到樣本標(biāo)記空間,一般包括提取到的特征在圖片上的位置信息以及特征所屬類別概率等。將隱藏特征空間的信息具象化,也是圖像處理當(dāng)中的重要一環(huán)。

3.5 使用tensorflow中keras模塊實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)

?

class CNN(tf.keras.Model):def __init__(self):super().__init__()self.conv1 = tf.keras.layers.Conv2D(filters=32,             # 卷積層神經(jīng)元(卷積核)數(shù)目kernel_size=[5, 5],     # 感受野大小padding='same',         # padding策略(vaild 或 same)activation=tf.nn.relu   # 激活函數(shù))self.pool1 = tf.keras.layers.MaxPool2D(pool_size=[2, 2], strides=2)self.conv2 = tf.keras.layers.Conv2D(filters=64,kernel_size=[5, 5],padding='same',activation=tf.nn.relu)self.pool2 = tf.keras.layers.MaxPool2D(pool_size=[2, 2], strides=2)self.flatten = tf.keras.layers.Reshape(target_shape=(7 * 7 * 64,))self.dense1 = tf.keras.layers.Dense(units=1024, activation=tf.nn.relu)self.dense2 = tf.keras.layers.Dense(units=10)def call(self, inputs):x = self.conv1(inputs)                  # [batch_size, 28, 28, 32]x = self.pool1(x)                       # [batch_size, 14, 14, 32]x = self.conv2(x)                       # [batch_size, 14, 14, 64]x = self.pool2(x)                       # [batch_size, 7, 7, 64]x = self.flatten(x)                     # [batch_size, 7 * 7 * 64]x = self.dense1(x)                      # [batch_size, 1024]x = self.dense2(x)                      # [batch_size, 10]output = tf.nn.softmax(x)return output

4 YOLOV5

我們選擇當(dāng)下YOLO最新的卷積神經(jīng)網(wǎng)絡(luò)YOLOv5來進(jìn)行火焰識(shí)別檢測(cè)。6月9日,Ultralytics公司開源了YOLOv5,離上一次YOLOv4發(fā)布不到50天。而且這一次的YOLOv5是完全基于PyTorch實(shí)現(xiàn)的!在我們還對(duì)YOLOv4的各種高端操作、豐富的實(shí)驗(yàn)對(duì)比驚嘆不已時(shí),YOLOv5又帶來了更強(qiáng)實(shí)時(shí)目標(biāo)檢測(cè)技術(shù)。按照官方給出的數(shù)目,現(xiàn)版本的YOLOv5每個(gè)圖像的推理時(shí)間最快0.007秒,即每秒140幀(FPS),但YOLOv5的權(quán)重文件大小只有YOLOv4的1/9。

目標(biāo)檢測(cè)架構(gòu)分為兩種,一種是two-stage,一種是one-stage,區(qū)別就在于 two-stage 有region
proposal過程,類似于一種海選過程,網(wǎng)絡(luò)會(huì)根據(jù)候選區(qū)域生成位置和類別,而one-stage直接從圖片生成位置和類別。今天提到的 YOLO就是一種
one-stage方法。YOLO是You Only Look Once的縮寫,意思是神經(jīng)網(wǎng)絡(luò)只需要看一次圖片,就能輸出結(jié)果。YOLO
一共發(fā)布了五個(gè)版本,其中 YOLOv1 奠定了整個(gè)系列的基礎(chǔ),后面的系列就是在第一版基礎(chǔ)上的改進(jìn),為的是提升性能。

YOLOv5有4個(gè)版本性能如圖所示:

在這里插入圖片描述

4.1 網(wǎng)絡(luò)架構(gòu)圖

在這里插入圖片描述

YOLOv5是一種單階段目標(biāo)檢測(cè)算法,該算法在YOLOv4的基礎(chǔ)上添加了一些新的改進(jìn)思路,使其速度與精度都得到了極大的性能提升。主要的改進(jìn)思路如下所示:

4.2 輸入端

在模型訓(xùn)練階段,提出了一些改進(jìn)思路,主要包括Mosaic數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算、自適應(yīng)圖片縮放;

  • Mosaic數(shù)據(jù)增強(qiáng):Mosaic數(shù)據(jù)增強(qiáng)的作者也是來自YOLOv5團(tuán)隊(duì)的成員,通過隨機(jī)縮放、隨機(jī)裁剪、隨機(jī)排布的方式進(jìn)行拼接,對(duì)小目標(biāo)的檢測(cè)效果很不錯(cuò)

在這里插入圖片描述

4.3 基準(zhǔn)網(wǎng)絡(luò)

融合其它檢測(cè)算法中的一些新思路,主要包括:Focus結(jié)構(gòu)與CSP結(jié)構(gòu);

4.4 Neck網(wǎng)絡(luò)

在目標(biāo)檢測(cè)領(lǐng)域,為了更好的提取融合特征,通常在Backbone和輸出層,會(huì)插入一些層,這個(gè)部分稱為Neck。Yolov5中添加了FPN+PAN結(jié)構(gòu),相當(dāng)于目標(biāo)檢測(cè)網(wǎng)絡(luò)的頸部,也是非常關(guān)鍵的。

在這里插入圖片描述

在這里插入圖片描述

FPN+PAN的結(jié)構(gòu)

在這里插入圖片描述

這樣結(jié)合操作,FPN層自頂向下傳達(dá)強(qiáng)語義特征(High-Level特征),而特征金字塔則自底向上傳達(dá)強(qiáng)定位特征(Low-
Level特征),兩兩聯(lián)手,從不同的主干層對(duì)不同的檢測(cè)層進(jìn)行特征聚合。

FPN+PAN借鑒的是18年CVPR的PANet,當(dāng)時(shí)主要應(yīng)用于圖像分割領(lǐng)域,但Alexey將其拆分應(yīng)用到Y(jié)olov4中,進(jìn)一步提高特征提取的能力。

4.5 Head輸出層

輸出層的錨框機(jī)制與YOLOv4相同,主要改進(jìn)的是訓(xùn)練時(shí)的損失函數(shù)GIOU_Loss,以及預(yù)測(cè)框篩選的DIOU_nms。

對(duì)于Head部分,可以看到三個(gè)紫色箭頭處的特征圖是40×40、20×20、10×10。以及最后Prediction中用于預(yù)測(cè)的3個(gè)特征圖:

?

==>40×40×255==>20×20×255==>10×10×255

?

在這里插入圖片描述

  • 相關(guān)代碼

    class Detect(nn.Module):stride = None  # strides computed during buildonnx_dynamic = False  # ONNX export parameterdef __init__(self, nc=80, anchors=(), ch=(), inplace=True):  # detection layersuper().__init__()self.nc = nc  # number of classesself.no = nc + 5  # number of outputs per anchorself.nl = len(anchors)  # number of detection layersself.na = len(anchors[0]) // 2  # number of anchorsself.grid = [torch.zeros(1)] * self.nl  # init gridself.anchor_grid = [torch.zeros(1)] * self.nl  # init anchor gridself.register_buffer('anchors', torch.tensor(anchors).float().view(self.nl, -1, 2))  # shape(nl,na,2)self.m = nn.ModuleList(nn.Conv2d(x, self.no * self.na, 1) for x in ch)  # output convself.inplace = inplace  # use in-place ops (e.g. slice assignment)def forward(self, x):z = []  # inference outputfor i in range(self.nl):x[i] = self.m[i](x[i])  # convbs, _, ny, nx = x[i].shape  # x(bs,255,20,20) to x(bs,3,20,20,85)x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous()if not self.training:  # inferenceif self.onnx_dynamic or self.grid[i].shape[2:4] != x[i].shape[2:4]:self.grid[i], self.anchor_grid[i] = self._make_grid(nx, ny, i)y = x[i].sigmoid()if self.inplace:y[..., 0:2] = (y[..., 0:2] * 2 - 0.5 + self.grid[i]) * self.stride[i]  # xyy[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i]  # whelse:  # for YOLOv5 on AWS Inferentia https://github.com/ultralytics/yolov5/pull/2953xy = (y[..., 0:2] * 2 - 0.5 + self.grid[i]) * self.stride[i]  # xywh = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i]  # why = torch.cat((xy, wh, y[..., 4:]), -1)z.append(y.view(bs, -1, self.no))return x if self.training else (torch.cat(z, 1), x)def _make_grid(self, nx=20, ny=20, i=0):d = self.anchors[i].deviceif check_version(torch.__version__, '1.10.0'):  # torch>=1.10.0 meshgrid workaround for torch>=0.7 compatibilityyv, xv = torch.meshgrid([torch.arange(ny).to(d), torch.arange(nx).to(d)], indexing='ij')else:yv, xv = torch.meshgrid([torch.arange(ny).to(d), torch.arange(nx).to(d)])grid = torch.stack((xv, yv), 2).expand((1, self.na, ny, nx, 2)).float()anchor_grid = (self.anchors[i].clone() * self.stride[i]) \.view((1, self.na, 1, 1, 2)).expand((1, self.na, ny, nx, 2)).float()return grid, anchor_grid
    

5 數(shù)據(jù)集準(zhǔn)備

由于目前針對(duì)多源場(chǎng)景下的火焰數(shù)據(jù)并沒有現(xiàn)成的數(shù)據(jù)集,我們使用使用Python爬蟲利用關(guān)鍵字在互聯(lián)網(wǎng)上獲得的圖片數(shù)據(jù),爬取數(shù)據(jù)包含室內(nèi)場(chǎng)景下的火焰、寫字樓和房屋燃燒、森林火災(zāi)和車輛燃燒等場(chǎng)景下的火焰圖片。經(jīng)過篩選后留下3000張質(zhì)量較好的圖片制作成VOC格式的實(shí)驗(yàn)數(shù)據(jù)集。

深度學(xué)習(xí)圖像標(biāo)注軟件眾多,按照不同分類標(biāo)準(zhǔn)有多中類型,本文使用LabelImg單機(jī)標(biāo)注軟件進(jìn)行標(biāo)注。LabelImg是基于角點(diǎn)的標(biāo)注方式產(chǎn)生邊界框,對(duì)圖片進(jìn)行標(biāo)注得到xml格式的標(biāo)注文件,由于邊界框?qū)z測(cè)精度的影響較大因此采用手動(dòng)標(biāo)注,并沒有使用自動(dòng)標(biāo)注軟件。

考慮到有的朋友時(shí)間不足,博主提供了標(biāo)注好的數(shù)據(jù)集和訓(xùn)練好的模型,需要請(qǐng)聯(lián)系。

5.1 數(shù)據(jù)標(biāo)注簡(jiǎn)介

通過pip指令即可安裝

?

pip install labelimg

在命令行中輸入labelimg即可打開

在這里插入圖片描述

打開你所需要進(jìn)行標(biāo)注的文件夾,點(diǎn)擊紅色框區(qū)域進(jìn)行標(biāo)注格式切換,我們需要yolo格式,因此切換到y(tǒng)olo

在這里插入圖片描述

點(diǎn)擊Create RectBo -> 拖拽鼠標(biāo)框選目標(biāo) -> 給上標(biāo)簽 -> 點(diǎn)擊ok

在這里插入圖片描述

5.2 數(shù)據(jù)保存

點(diǎn)擊save,保存txt。

在這里插入圖片描述

打開具體的標(biāo)注文件,你將會(huì)看到下面的內(nèi)容,txt文件中每一行表示一個(gè)目標(biāo),以空格進(jìn)行區(qū)分,分別表示目標(biāo)的類別id,歸一化處理之后的中心點(diǎn)x坐標(biāo)、y坐標(biāo)、目標(biāo)框的w和h。

在這里插入圖片描述

6 模型訓(xùn)練

預(yù)訓(xùn)練模型和數(shù)據(jù)集都準(zhǔn)備好了,就可以開始訓(xùn)練自己的yolov5目標(biāo)檢測(cè)模型了,訓(xùn)練目標(biāo)檢測(cè)模型需要修改兩個(gè)yaml文件中的參數(shù)。一個(gè)是data目錄下的相應(yīng)的yaml文件,一個(gè)是model目錄文件下的相應(yīng)的yaml文件。

6.1 修改數(shù)據(jù)配置文件

修改data目錄下的相應(yīng)的yaml文件。找到目錄下的voc.yaml文件,將該文件復(fù)制一份,將復(fù)制的文件重命名,最好和項(xiàng)目相關(guān),這樣方便后面操作。我這里修改為fire.yaml。

在這里插入圖片描述

打開這個(gè)文件夾修改其中的參數(shù),需要檢測(cè)的類別數(shù),我這里是識(shí)別有無火焰,所以這里填寫2;最后箭頭4中填寫需要識(shí)別的類別的名字(必須是英文,否則會(huì)亂碼識(shí)別不出來)。到這里和data目錄下的yaml文件就修改好了。

在這里插入圖片描述

6.2 修改模型配置文件

由于該項(xiàng)目使用的是yolov5s.pt這個(gè)預(yù)訓(xùn)練權(quán)重,所以要使用models目錄下的yolov5s.yaml文件中的相應(yīng)參數(shù)(因?yàn)椴煌念A(yù)訓(xùn)練權(quán)重對(duì)應(yīng)著不同的網(wǎng)絡(luò)層數(shù),所以用錯(cuò)預(yù)訓(xùn)練權(quán)重會(huì)報(bào)錯(cuò))。同上修改data目錄下的yaml文件一樣,我們最好將yolov5s.yaml文件復(fù)制一份,然后將其重命名

打開yolov5s.yaml文件,主要是進(jìn)去后修改nc這個(gè)參數(shù)來進(jìn)行類別的修改,修改如圖中的數(shù)字就好了,這里是識(shí)別兩個(gè)類別。

在這里插入圖片描述

至此,相應(yīng)的配置參數(shù)就修改好了。

目前支持的模型種類如下所示:

在這里插入圖片描述

6.3 開始訓(xùn)練模型

如果上面的數(shù)據(jù)集和兩個(gè)yaml文件的參數(shù)都修改好了的話,就可以開始yolov5的訓(xùn)練了。首先我們找到train.py這個(gè)py文件。

然后找到主函數(shù)的入口,這里面有模型的主要參數(shù)。修改train.py中的weights、cfg、data、epochs、batch_size、imgsz、device、workers等參數(shù)

在這里插入圖片描述

至此,就可以運(yùn)行train.py函數(shù)訓(xùn)練自己的模型了。

訓(xùn)練代碼成功執(zhí)行之后會(huì)在命令行中輸出下列信息,接下來就是安心等待模型訓(xùn)練結(jié)束即可。

7 實(shí)現(xiàn)效果

我們實(shí)現(xiàn)了圖片檢測(cè),視頻檢測(cè)和攝像頭實(shí)時(shí)檢測(cè)接口,用Pyqt自制了簡(jiǎn)單UI

?

#部分代碼from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Win_mask(object):def setupUi(self, Win_mask):Win_mask.setObjectName("Win_mask")Win_mask.resize(1107, 868)Win_mask.setStyleSheet("QString qstrStylesheet = \"background-color:rgb(43, 43, 255)\";\n""ui.pushButton->setStyleSheet(qstrStylesheet);")self.frame = QtWidgets.QFrame(Win_mask)self.frame.setGeometry(QtCore.QRect(10, 140, 201, 701))self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)self.frame.setFrameShadow(QtWidgets.QFrame.Raised)self.frame.setObjectName("frame")self.pushButton = QtWidgets.QPushButton(self.frame)self.pushButton.setGeometry(QtCore.QRect(10, 40, 161, 51))font = QtGui.QFont()font.setBold(True)font.setUnderline(True)font.setWeight(75)self.pushButton.setFont(font)self.pushButton.setStyleSheet("QPushButton{background-color:rgb(151, 191, 255);}")self.pushButton.setObjectName("pushButton")self.pushButton_2 = QtWidgets.QPushButton(self.frame)self.pushButton_2.setGeometry(QtCore.QRect(10, 280, 161, 51))font = QtGui.QFont()font.setBold(True)font.setUnderline(True)font.setWeight(75)self.pushButton_2.setFont(font)self.pushButton_2.setStyleSheet("QPushButton{background-color:rgb(151, 191, 255);}")self.pushButton_2.setObjectName("pushButton_2")self.pushButton_3 = QtWidgets.QPushButton(self.frame)self.pushButton_3.setGeometry(QtCore.QRect(10, 500, 161, 51))QtCore.QMetaObject.connectSlotsByName(Win_mask)

?

7.1圖片效果

在這里插入圖片描述

7.2 視頻效果

在這里插入圖片描述

7.3 攝像頭實(shí)時(shí)效果

在這里插入圖片描述

8 最后

🧿 更多資料, 項(xiàng)目分享:

https://gitee.com/dancheng-senior/postgraduate

http://www.risenshineclean.com/news/36090.html

相關(guān)文章:

  • 建設(shè)哪里有百度seo按天計(jì)費(fèi)
  • 廈門快速建網(wǎng)站騰訊控股第三季度營(yíng)收1401億
  • 別人做的網(wǎng)站上海做關(guān)鍵詞推廣企業(yè)
  • 怎么做淘寶客網(wǎng)站賺錢百度指數(shù)官方
  • 網(wǎng)站黨組織規(guī)范化建設(shè)開展情況石家莊seo推廣優(yōu)化
  • 網(wǎng)站域名實(shí)名制市場(chǎng)調(diào)研報(bào)告怎么寫
  • 網(wǎng)站中英文互譯 java怎么做html網(wǎng)頁制作模板代碼
  • 做海外房產(chǎn)最好的網(wǎng)站關(guān)鍵詞搜索量排名
  • 祥云縣外賣哪個(gè)網(wǎng)站清遠(yuǎn)頭條新聞
  • 舉報(bào)個(gè)人備案網(wǎng)站做經(jīng)營(yíng)性創(chuàng)建站點(diǎn)的步驟
  • 網(wǎng)站規(guī)劃與開發(fā)設(shè)計(jì)汕頭網(wǎng)站建設(shè)技術(shù)外包
  • 網(wǎng)站如何建立品牌形象免費(fèi)開源網(wǎng)站
  • 怎么做網(wǎng)站信息合肥網(wǎng)站優(yōu)化搜索
  • 怎樣做網(wǎng)站策劃網(wǎng)站收錄免費(fèi)咨詢
  • ps個(gè)人網(wǎng)站抖音視頻seo霸屏
  • 空間網(wǎng)站湖北短視頻搜索seo
  • 衡水企業(yè)網(wǎng)站巨量關(guān)鍵詞搜索查詢
  • 網(wǎng)站制作報(bào)價(jià)明細(xì)表bt磁力狗
  • 超市網(wǎng)站模版網(wǎng)絡(luò)推廣培訓(xùn)班
  • 鄭州網(wǎng)站推廣排名公司浙江關(guān)鍵詞優(yōu)化
  • 萬網(wǎng)網(wǎng)站建設(shè)購(gòu)買過程汽車推廣軟文
  • 怎么自己的電腦做網(wǎng)站服務(wù)器百度網(wǎng)站是什么
  • 阿里巴巴怎么做公司網(wǎng)站我為什么不建議年輕人做銷售
  • 網(wǎng)站建設(shè) 資訊動(dòng)態(tài)電商軟文范例100字
  • 網(wǎng)站文化建設(shè)軟文新聞發(fā)布網(wǎng)站
  • 徐州企業(yè)網(wǎng)站設(shè)計(jì)免費(fèi)的網(wǎng)站推廣在線推廣
  • 歐美設(shè)計(jì)網(wǎng)站推薦百度推廣賬號(hào)怎么申請(qǐng)
  • 如何寫好網(wǎng)站開發(fā)技術(shù)文檔頭條新聞今日頭條官方版本
  • 網(wǎng)站建設(shè)本科畢業(yè)設(shè)計(jì)論文鄭州網(wǎng)站推廣排名公司
  • 發(fā)果怎么做視頻網(wǎng)站四川省最新疫情情況