原创 python+opencv顯示圖像或者視頻

import cv2 as cv import numpy as np def get_image_info(image): # 打印圖片屬性 print(type(image)) # 打印圖片形狀

原创 Haar特徵

Haar特徵 Haar特徵原理綜述 Haar特徵是一種反映圖像的灰度變化的,像素分模塊求差值的一種特徵。它分爲三類:邊緣特徵、線性特徵、中心特徵和對角線特徵。用黑白兩種矩形框組合成特徵模板,在特徵模板內用 黑色矩形像素和

原创 上採樣和下采樣

縮小圖像(或稱爲下采樣(subsampled)或降採樣(downsampled))的主要目的有兩個:1、使得圖像符合顯示區域的大小;2、生成對應圖像的縮略圖。         放大圖像(或稱爲上採樣(upsampling)或圖像插值(in

原创 python+opencv Canny邊緣提取

Canny是邊緣檢測算法,是一個很好的邊緣檢測器,很常用也很實用。 步驟: 1、輸入圖像通過高斯模糊(GaussianBlur),去掉一些噪聲。 2、灰度轉換(cvtColor) 3、計算梯度(Sobel、Scharr) 4、非最大信號抑

原创 python+opencv 直方圖反向投影

直方圖反向投影 1、先把RGB色彩空間轉換爲HSV色彩空間 2、計算樣本的2D直方圖 3、對樣本直方圖作歸一化 4、對目標圖像作反向投影 import cv2 as cv import numpy as np from matplotl

原创 python+opencv 輪廓發現(基於二值圖像)

輪廓發現實基於圖像邊緣提取的基礎尋找對象輪廓的方法。所以邊緣提取的閾值選定會影響最終輪廓發現的結果。 API介紹: 1、——findContours   發現輪廓 2、——drawContours    繪製輪廓 cv.RETR_TREE

原创 python+opencv 超大圖像二值化方法

超大圖像二值化一般用局部閾值法或者先分塊再用全局閾值。 import cv2 as cv import numpy as np def big_image_binary(image): print(image.shape)

原创 Python+OpenCV 開閉操作

1、開操作(Open):圖像形態學的重要操作之一,基於膨脹和腐蝕操作組合形成的。主要應用在二值圖像分析中,灰度圖像亦可。開操作=腐蝕+膨脹,輸入圖像+結構元素。 2、閉操作(Close):閉操作=膨脹+腐蝕,輸入圖像+結構元素。閉操作可以

原创 Python+opencv 對象測量

1、弧長與面積 a、輪廓發現 b、計算每個輪廓的弧長與面積,以像素爲單位 2、多邊形擬合 a、獲取輪廓的多邊形擬合效果 b、approxPolyDP(contour,epsilon,close) epsilon越小,折線越逼近真實形狀。c

原创 python+opencv 圖像梯度

import cv2 as cv import numpy as np def laplacian_demo(image): # dst = cv.Laplacian(image, cv.CV_32F) # lp

原创 python+opencv 直方圖應用

1、直方圖均衡化(調整圖像對比度,圖像清晰化),是圖像增強的一個手段,使得亮的地方更亮,暗的地方更暗。可分爲全局和局部兩個方面。 2、直方圖的比較 import cv2 as cv import numpy as np # 全局的直

原创 python+opencv 膨脹與腐蝕

圖像形態學是灰度圖像與二值圖像處理中的重要手段,是由數學的集合論等相關理論發展起來的。 膨脹與腐蝕都支持任意形狀的結構元素。 膨脹(Dilate):用掩膜覆蓋位置下的最大像素替代中心位置的像素。 膨脹的作用: 1、對象大小增加一個像素(3

原创 python+opencv 分水嶺算法

基於距離的分水嶺分割流程:輸入圖像——>灰度轉換(如果有噪聲,在這之前要先消去噪聲)——>二值圖像——>距離變換 ——>尋找種子——>生成Marker——>分水嶺變換——>輸出圖像——>END import cv2 as cv impo

原创 神經網絡GoogleNet訓練數據集CIFAR10

GoogleNet神經網路結構 一個 inception 模塊的四個並行線路如下: 1.一個 1 x 1 的卷積,一個小的感受野進行卷積提取特徵 2.一個 1 x 1 的卷積加上一個 3 x 3 的卷積,1 x 1 的卷積降低輸入的特徵

原创 神經網絡VGGNet訓練CIFAR10數據集

VGG網絡結構         基本的單元(vgg_block)是幾個卷積再加上一個池化,這個單元結構反覆出現,用一個函數封裝(vgg_stack). import numpy as np import torch from torch