原创 dijkstra——圖像最短距離(2)

之前文章能夠求出dijkstra最短距離,但是速度太慢,原因之一是算法把整個二維數組的點到起始點的最短距離都求出來了,但其實沒有必要,我們只需要起始點到結束點的最短路徑即可。 優化思路:dijkstra算法執行時,若當前點的座標等於結束點

原创 dijkstra——圖像最短路徑(1)

dijkstra屬於廣度優先搜素的一種。 本python代碼是在8領域內計算,兩個像素點之間的差值的絕對值作爲該邊的權重,試圖找到某兩個像素點最短路徑所要經過的座標點。47,48,49行代碼可自行修改 (對於圖像來說:最短路徑大概就是圖像

原创 VGG網絡模型

import tensorflow as tf #卷積函數 def conv2d(x, W, b, strides=1): x = tf.nn.conv2d(x, W, strides=[1, strides, strides

原创 基於視頻流的MTCNN人臉檢測

 基於攝像頭的人臉檢測 按 q 退出程序  predict.py import sys import os import argparse import tensorflow as tf import numpy as np impor

原创 MTCNN人臉檢測及人臉關鍵點提取(學習記錄)

我看了很多關於MTCNN框架的文章,但基本上都是一概而過,本文章記錄MTCNN每一步的流程及附上註釋的代碼。 MTCNN框架主要由三大子網絡組成,即P-Net,R-Net,O-Net。 三大子網絡的區別:P-Net最後沒有全連接層,而是卷

原创 tensorflow-mnist訓練(一:只有全連接網絡)

mnist數據集首先下載好,在根目錄下建立一個文件夾(MNIST_data),把下載好的mnist數據集保存在MNIST_data中,注意下載的mnist不用解壓,程序會自動解壓 下面代碼包含: 一:網絡結構只有全連接,比較簡單 二:

原创 tensorflow-顯示mnist圖像並且加載模型識別單張圖像(二)

通過上一遍文章,我們能夠得到比較簡單的mnist訓練模型。 在根目錄的save文件夾下有四個文件,保存的是訓練模型,文件具體內容自行查找資料,我們加載模型時,只需定義出save文件夾下的路徑即可 下面代碼包含: 一:從測試集中隨機挑選出

原创 opencv——基於SVM的數字識別(3)

前兩篇文章寫了基於兩種特徵提取的SVM數字識別 https://blog.csdn.net/weixin_41721222/article/details/84953788 https://blog.csdn.net/weixin_417

原创 opencv——基於SVM的數字識別(2)

上篇文章我們用的特徵是訓練樣本的所有像素點值,雖然方便但不準確。 這篇文章主要介紹用SVM+HOG特徵對數字進行識別。 詳細請看上篇文章,它們主要區別在於訓練樣本HOG特徵的提取,其他基本一樣,所以我直接附上代碼。 下面代碼是opencv

原创 opencv——基於SVM的數字識別

關於SVM的原理有很多優秀的視頻和資料,這裏我主要說下利用SVM對數字識別的具體應用 首先,需要有數字的訓練樣本 https://download.csdn.net/download/weixin_41721222/10784418

原创 opencv——基於KNN的數字識別

KNN即K個最近鄰,網上有很多關於KNN的文章。我大概總結下核心:假設有A圖片,讓A與訓練樣本依次計算相似度(可用歐式距離),挑選出K個與A圖片相似度最小的圖片,這K個圖片中,哪種類型最多那麼定義A圖片也屬於該類型。 首先,需要有數字的訓

原创 opencv——批量修改圖片像素大小

#include "stdafx.h" #include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; Mat de